fdCgTexture.dfm 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791
  1. object FormCgTexture: TFormCgTexture
  2. Left = 205
  3. Top = 112
  4. Caption = 'Cg Multi Texturing'
  5. ClientHeight = 394
  6. ClientWidth = 650
  7. Color = clBtnFace
  8. Font.Charset = DEFAULT_CHARSET
  9. Font.Color = clWindowText
  10. Font.Height = -11
  11. Font.Name = 'MS Sans Serif'
  12. Font.Style = []
  13. KeyPreview = True
  14. Position = poScreenCenter
  15. OnCreate = FormCreate
  16. OnKeyPress = FormKeyPress
  17. OnMouseWheel = FormMouseWheel
  18. TextHeight = 13
  19. object Splitter1: TSplitter
  20. Left = 313
  21. Top = 0
  22. Height = 394
  23. Color = clBtnShadow
  24. ParentColor = False
  25. end
  26. object Panel1: TPanel
  27. Left = 0
  28. Top = 0
  29. Width = 313
  30. Height = 394
  31. Align = alLeft
  32. BevelInner = bvRaised
  33. BevelOuter = bvLowered
  34. TabOrder = 0
  35. ExplicitHeight = 369
  36. object PageControl1: TPageControl
  37. Left = 2
  38. Top = 2
  39. Width = 309
  40. Height = 390
  41. ActivePage = TabSheet3
  42. Align = alClient
  43. Font.Charset = ANSI_CHARSET
  44. Font.Color = clWindowText
  45. Font.Height = -11
  46. Font.Name = 'Tahoma'
  47. Font.Style = []
  48. ParentFont = False
  49. TabOrder = 0
  50. ExplicitHeight = 365
  51. object TabSheet1: TTabSheet
  52. Caption = 'Vertex Program'
  53. object Splitter3: TSplitter
  54. Left = 0
  55. Top = 269
  56. Width = 301
  57. Height = 3
  58. Cursor = crVSplit
  59. Align = alBottom
  60. Color = clBtnShadow
  61. ParentColor = False
  62. end
  63. object Panel2: TPanel
  64. Left = 0
  65. Top = 0
  66. Width = 301
  67. Height = 25
  68. Align = alTop
  69. BevelOuter = bvNone
  70. TabOrder = 0
  71. object LabelVertProfile: TLabel
  72. Left = 88
  73. Top = 5
  74. Width = 63
  75. Height = 13
  76. Caption = 'Using profile:'
  77. end
  78. object CBVertexProgram: TCheckBox
  79. Left = 6
  80. Top = 4
  81. Width = 59
  82. Height = 17
  83. Caption = 'Enabled'
  84. Checked = True
  85. Font.Charset = ANSI_CHARSET
  86. Font.Color = clWindowText
  87. Font.Height = -11
  88. Font.Name = 'Tahoma'
  89. Font.Style = []
  90. ParentFont = False
  91. State = cbChecked
  92. TabOrder = 0
  93. OnClick = CBVertexProgramClick
  94. end
  95. end
  96. object Panel11: TPanel
  97. Left = 0
  98. Top = 25
  99. Width = 301
  100. Height = 244
  101. Align = alClient
  102. Caption = 'Panel6'
  103. TabOrder = 1
  104. object Panel12: TPanel
  105. Left = 1
  106. Top = 1
  107. Width = 299
  108. Height = 16
  109. Align = alTop
  110. BevelOuter = bvNone
  111. Caption = 'Shader Code'
  112. Color = clBtnHighlight
  113. TabOrder = 0
  114. end
  115. object MemoVertCode: TMemo
  116. Left = 1
  117. Top = 17
  118. Width = 299
  119. Height = 201
  120. Align = alClient
  121. Font.Charset = ANSI_CHARSET
  122. Font.Color = clWindowText
  123. Font.Height = -11
  124. Font.Name = 'Lucida Console'
  125. Font.Style = []
  126. ParentFont = False
  127. ScrollBars = ssBoth
  128. TabOrder = 1
  129. WordWrap = False
  130. OnChange = MemoVertCodeChange
  131. end
  132. object Panel13: TPanel
  133. Left = 1
  134. Top = 218
  135. Width = 299
  136. Height = 25
  137. Align = alBottom
  138. BevelOuter = bvNone
  139. TabOrder = 2
  140. DesignSize = (
  141. 299
  142. 25)
  143. object ButtonApplyVP: TButton
  144. Left = 233
  145. Top = 2
  146. Width = 68
  147. Height = 20
  148. Anchors = [akTop, akRight]
  149. Caption = 'Apply'
  150. Enabled = False
  151. TabOrder = 0
  152. OnClick = ButtonApplyVPClick
  153. end
  154. end
  155. end
  156. object Panel5: TPanel
  157. Left = 0
  158. Top = 272
  159. Width = 301
  160. Height = 90
  161. Align = alBottom
  162. TabOrder = 2
  163. ExplicitTop = 280
  164. ExplicitWidth = 306
  165. DesignSize = (
  166. 301
  167. 90)
  168. object Label2: TLabel
  169. Left = 228
  170. Top = 5
  171. Width = 30
  172. Height = 13
  173. Anchors = [akTop, akRight]
  174. Caption = 'Show:'
  175. ExplicitLeft = 233
  176. end
  177. object Memo1: TMemo
  178. Left = 1
  179. Top = 1
  180. Width = 216
  181. Height = 88
  182. Align = alLeft
  183. Anchors = [akLeft, akTop, akRight, akBottom]
  184. Color = clBtnFace
  185. Font.Charset = ANSI_CHARSET
  186. Font.Color = clWindowText
  187. Font.Height = -9
  188. Font.Name = 'Lucida Console'
  189. Font.Style = []
  190. ParentFont = False
  191. ReadOnly = True
  192. ScrollBars = ssBoth
  193. TabOrder = 0
  194. WordWrap = False
  195. ExplicitWidth = 221
  196. ExplicitHeight = 89
  197. end
  198. object Button1: TButton
  199. Left = 227
  200. Top = 21
  201. Width = 64
  202. Height = 18
  203. Anchors = [akTop, akRight]
  204. Caption = 'Params'
  205. TabOrder = 1
  206. OnClick = Button1Click
  207. ExplicitLeft = 232
  208. end
  209. object Button4: TButton
  210. Left = 227
  211. Top = 42
  212. Width = 64
  213. Height = 18
  214. Anchors = [akTop, akRight]
  215. Caption = 'Asm'
  216. TabOrder = 2
  217. OnClick = Button4Click
  218. ExplicitLeft = 232
  219. end
  220. end
  221. end
  222. object TabSheet2: TTabSheet
  223. Caption = 'Fragment Program'
  224. ImageIndex = 1
  225. object Splitter2: TSplitter
  226. Left = 0
  227. Top = 269
  228. Width = 301
  229. Height = 3
  230. Cursor = crVSplit
  231. Align = alBottom
  232. Color = clBtnShadow
  233. ParentColor = False
  234. end
  235. object Panel4: TPanel
  236. Left = 0
  237. Top = 0
  238. Width = 301
  239. Height = 25
  240. Align = alTop
  241. BevelOuter = bvNone
  242. TabOrder = 0
  243. object LabelFragProfile: TLabel
  244. Left = 88
  245. Top = 5
  246. Width = 63
  247. Height = 13
  248. Caption = 'Using profile:'
  249. end
  250. object CBFragmentProgram: TCheckBox
  251. Left = 6
  252. Top = 4
  253. Width = 67
  254. Height = 17
  255. Caption = 'Enabled'
  256. Checked = True
  257. State = cbChecked
  258. TabOrder = 0
  259. OnClick = CBFragmentProgramClick
  260. end
  261. end
  262. object Panel6: TPanel
  263. Left = 0
  264. Top = 25
  265. Width = 301
  266. Height = 244
  267. Align = alClient
  268. Caption = 'Panel6'
  269. TabOrder = 1
  270. object Panel7: TPanel
  271. Left = 1
  272. Top = 1
  273. Width = 299
  274. Height = 16
  275. Align = alTop
  276. BevelOuter = bvNone
  277. Caption = 'Shader Code'
  278. Color = clBtnHighlight
  279. TabOrder = 0
  280. end
  281. object MemoFragCode: TMemo
  282. Left = 1
  283. Top = 17
  284. Width = 299
  285. Height = 201
  286. Align = alClient
  287. Font.Charset = ANSI_CHARSET
  288. Font.Color = clWindowText
  289. Font.Height = -11
  290. Font.Name = 'Lucida Console'
  291. Font.Style = []
  292. ParentFont = False
  293. ScrollBars = ssBoth
  294. TabOrder = 1
  295. WordWrap = False
  296. OnChange = MemoFragCodeChange
  297. end
  298. object Panel3: TPanel
  299. Left = 1
  300. Top = 218
  301. Width = 299
  302. Height = 25
  303. Align = alBottom
  304. BevelOuter = bvNone
  305. TabOrder = 2
  306. DesignSize = (
  307. 299
  308. 25)
  309. object ButtonApplyFP: TButton
  310. Left = 233
  311. Top = 2
  312. Width = 68
  313. Height = 20
  314. Anchors = [akTop, akRight]
  315. Caption = 'Apply'
  316. Enabled = False
  317. TabOrder = 0
  318. OnClick = ButtonApplyFPClick
  319. end
  320. end
  321. end
  322. object Panel8: TPanel
  323. Left = 0
  324. Top = 272
  325. Width = 301
  326. Height = 90
  327. Align = alBottom
  328. TabOrder = 2
  329. ExplicitTop = 280
  330. ExplicitWidth = 306
  331. DesignSize = (
  332. 301
  333. 90)
  334. object Label1: TLabel
  335. Left = 228
  336. Top = 5
  337. Width = 30
  338. Height = 13
  339. Anchors = [akTop, akRight]
  340. Caption = 'Show:'
  341. ExplicitLeft = 233
  342. end
  343. object Memo3: TMemo
  344. Left = 1
  345. Top = 1
  346. Width = 216
  347. Height = 88
  348. Align = alLeft
  349. Anchors = [akLeft, akTop, akRight, akBottom]
  350. Color = clBtnFace
  351. Font.Charset = ANSI_CHARSET
  352. Font.Color = clWindowText
  353. Font.Height = -11
  354. Font.Name = 'Courier New'
  355. Font.Style = []
  356. ParentFont = False
  357. ReadOnly = True
  358. ScrollBars = ssBoth
  359. TabOrder = 0
  360. WordWrap = False
  361. ExplicitWidth = 221
  362. ExplicitHeight = 89
  363. end
  364. object Button2: TButton
  365. Left = 227
  366. Top = 21
  367. Width = 64
  368. Height = 18
  369. Anchors = [akTop, akRight]
  370. Caption = 'Params'
  371. TabOrder = 1
  372. OnClick = Button2Click
  373. ExplicitLeft = 232
  374. end
  375. object Button3: TButton
  376. Left = 227
  377. Top = 42
  378. Width = 64
  379. Height = 18
  380. Anchors = [akTop, akRight]
  381. Caption = 'Asm'
  382. TabOrder = 2
  383. OnClick = Button3Click
  384. ExplicitLeft = 232
  385. end
  386. end
  387. end
  388. object TabSheet3: TTabSheet
  389. Caption = 'Controls'
  390. ImageIndex = 2
  391. DesignSize = (
  392. 301
  393. 362)
  394. object Label16: TLabel
  395. Left = 8
  396. Top = 272
  397. Width = 282
  398. Height = 13
  399. Caption = 'Note: NV2x class hardware may not honor negative values'
  400. end
  401. object GroupBox1: TGroupBox
  402. Left = 8
  403. Top = 40
  404. Width = 281
  405. Height = 105
  406. Anchors = [akLeft, akTop, akRight]
  407. Caption = ' TexCoord. Shifts '
  408. TabOrder = 0
  409. DesignSize = (
  410. 281
  411. 105)
  412. object Label18: TLabel
  413. Left = 64
  414. Top = 86
  415. Width = 193
  416. Height = 13
  417. Alignment = taCenter
  418. Anchors = [akLeft, akTop, akRight]
  419. AutoSize = False
  420. Caption = '0'
  421. ExplicitWidth = 198
  422. end
  423. object Label3: TLabel
  424. Left = 16
  425. Top = 24
  426. Width = 27
  427. Height = 13
  428. Caption = 'Tex 0'
  429. end
  430. object Label4: TLabel
  431. Left = 16
  432. Top = 40
  433. Width = 27
  434. Height = 13
  435. Caption = 'Tex 1'
  436. end
  437. object Label5: TLabel
  438. Left = 16
  439. Top = 56
  440. Width = 27
  441. Height = 13
  442. Caption = 'Tex 2'
  443. end
  444. object Label6: TLabel
  445. Left = 16
  446. Top = 72
  447. Width = 27
  448. Height = 13
  449. Caption = 'Tex 3'
  450. end
  451. object Label11: TLabel
  452. Left = 32
  453. Top = 24
  454. Width = 3
  455. Height = 13
  456. end
  457. object Label12: TLabel
  458. Left = 56
  459. Top = 86
  460. Width = 10
  461. Height = 13
  462. Caption = '-1'
  463. end
  464. object Label14: TLabel
  465. Left = 252
  466. Top = 86
  467. Width = 6
  468. Height = 13
  469. Anchors = [akTop, akRight]
  470. Caption = '1'
  471. ExplicitLeft = 257
  472. end
  473. object TrackBar1: TTrackBar
  474. Left = 56
  475. Top = 24
  476. Width = 207
  477. Height = 15
  478. Anchors = [akLeft, akTop, akRight]
  479. Max = 100
  480. Position = 50
  481. TabOrder = 0
  482. ThumbLength = 12
  483. TickMarks = tmBoth
  484. TickStyle = tsNone
  485. end
  486. object TrackBar2: TTrackBar
  487. Left = 56
  488. Top = 40
  489. Width = 207
  490. Height = 15
  491. Anchors = [akLeft, akTop, akRight]
  492. Max = 100
  493. Position = 50
  494. TabOrder = 1
  495. ThumbLength = 12
  496. TickMarks = tmBoth
  497. TickStyle = tsNone
  498. end
  499. object TrackBar3: TTrackBar
  500. Left = 56
  501. Top = 56
  502. Width = 207
  503. Height = 15
  504. Anchors = [akLeft, akTop, akRight]
  505. Max = 100
  506. Position = 50
  507. TabOrder = 2
  508. ThumbLength = 12
  509. TickMarks = tmBoth
  510. TickStyle = tsNone
  511. end
  512. object TrackBar4: TTrackBar
  513. Left = 56
  514. Top = 72
  515. Width = 207
  516. Height = 15
  517. Anchors = [akLeft, akTop, akRight]
  518. Max = 100
  519. Position = 50
  520. TabOrder = 3
  521. ThumbLength = 12
  522. TickMarks = tmBoth
  523. TickStyle = tsNone
  524. end
  525. end
  526. object GroupBox2: TGroupBox
  527. Left = 8
  528. Top = 160
  529. Width = 281
  530. Height = 105
  531. Anchors = [akLeft, akTop, akRight]
  532. Caption = ' Blending Weights '
  533. TabOrder = 1
  534. DesignSize = (
  535. 281
  536. 105)
  537. object Label17: TLabel
  538. Left = 64
  539. Top = 86
  540. Width = 193
  541. Height = 13
  542. Alignment = taCenter
  543. Anchors = [akLeft, akTop, akRight]
  544. AutoSize = False
  545. Caption = '0'
  546. ExplicitWidth = 198
  547. end
  548. object Label7: TLabel
  549. Left = 16
  550. Top = 24
  551. Width = 27
  552. Height = 13
  553. Caption = 'Tex 0'
  554. end
  555. object Label8: TLabel
  556. Left = 16
  557. Top = 40
  558. Width = 27
  559. Height = 13
  560. Caption = 'Tex 1'
  561. end
  562. object Label9: TLabel
  563. Left = 16
  564. Top = 56
  565. Width = 27
  566. Height = 13
  567. Caption = 'Tex 2'
  568. end
  569. object Label10: TLabel
  570. Left = 16
  571. Top = 72
  572. Width = 27
  573. Height = 13
  574. Caption = 'Tex 3'
  575. end
  576. object Label13: TLabel
  577. Left = 252
  578. Top = 86
  579. Width = 6
  580. Height = 13
  581. Anchors = [akTop, akRight]
  582. Caption = '1'
  583. ExplicitLeft = 257
  584. end
  585. object Label15: TLabel
  586. Left = 56
  587. Top = 86
  588. Width = 10
  589. Height = 13
  590. Caption = '-1'
  591. end
  592. object TrackBar5: TTrackBar
  593. Left = 56
  594. Top = 24
  595. Width = 207
  596. Height = 15
  597. Anchors = [akLeft, akTop, akRight]
  598. Max = 100
  599. Position = 75
  600. TabOrder = 0
  601. ThumbLength = 12
  602. TickMarks = tmBoth
  603. TickStyle = tsNone
  604. end
  605. object TrackBar6: TTrackBar
  606. Left = 56
  607. Top = 40
  608. Width = 207
  609. Height = 15
  610. Anchors = [akLeft, akTop, akRight]
  611. Max = 100
  612. Position = 75
  613. TabOrder = 1
  614. ThumbLength = 12
  615. TickMarks = tmBoth
  616. TickStyle = tsNone
  617. end
  618. object TrackBar7: TTrackBar
  619. Left = 56
  620. Top = 56
  621. Width = 207
  622. Height = 15
  623. Anchors = [akLeft, akTop, akRight]
  624. Max = 100
  625. Position = 75
  626. TabOrder = 2
  627. ThumbLength = 12
  628. TickMarks = tmBoth
  629. TickStyle = tsNone
  630. end
  631. object TrackBar8: TTrackBar
  632. Left = 56
  633. Top = 72
  634. Width = 207
  635. Height = 15
  636. Anchors = [akLeft, akTop, akRight]
  637. Max = 100
  638. Position = 65
  639. TabOrder = 3
  640. ThumbLength = 12
  641. TickMarks = tmBoth
  642. TickStyle = tsNone
  643. end
  644. end
  645. object CheckBox2: TCheckBox
  646. Left = 14
  647. Top = 12
  648. Width = 131
  649. Height = 17
  650. Caption = 'CgShader Enabled'
  651. Checked = True
  652. Font.Charset = ANSI_CHARSET
  653. Font.Color = clWindowText
  654. Font.Height = -11
  655. Font.Name = 'Tahoma'
  656. Font.Style = []
  657. ParentFont = False
  658. State = cbChecked
  659. TabOrder = 2
  660. OnClick = CheckBox2Click
  661. end
  662. end
  663. end
  664. end
  665. object Panel9: TPanel
  666. Left = 316
  667. Top = 0
  668. Width = 334
  669. Height = 394
  670. Align = alClient
  671. Font.Charset = ANSI_CHARSET
  672. Font.Color = clWindowText
  673. Font.Height = -19
  674. Font.Name = 'Tahoma'
  675. Font.Style = [fsBold]
  676. ParentFont = False
  677. TabOrder = 1
  678. ExplicitWidth = 326
  679. ExplicitHeight = 369
  680. object PanelFPS: TPanel
  681. Left = 1
  682. Top = 1
  683. Width = 332
  684. Height = 48
  685. Align = alTop
  686. Caption = 'FPS'
  687. Font.Charset = ANSI_CHARSET
  688. Font.Color = clWindowText
  689. Font.Height = -19
  690. Font.Name = 'Trebuchet MS'
  691. Font.Style = []
  692. ParentFont = False
  693. TabOrder = 0
  694. ExplicitWidth = 324
  695. end
  696. object GLSceneViewer1: TGLSceneViewer
  697. Left = 1
  698. Top = 49
  699. Width = 332
  700. Height = 344
  701. Camera = GLCamera1
  702. Buffer.Lighting = False
  703. Buffer.AntiAliasing = aa4xHQ
  704. FieldOfView = 146.474884033203100000
  705. PenAsTouch = False
  706. Align = alClient
  707. OnMouseDown = GLSceneViewer1MouseDown
  708. OnMouseMove = GLSceneViewer1MouseMove
  709. TabOrder = 1
  710. end
  711. end
  712. object GLScene1: TGLScene
  713. Left = 32
  714. Top = 80
  715. object GLXYZGrid1: TGLXYZGrid
  716. Position.Coordinates = {000000006F12033B000000000000803F}
  717. LineColor.Color = {938C0C3E938E0E3F938C0C3E0000803F}
  718. XSamplingScale.Min = -2.000000000000000000
  719. XSamplingScale.Max = 2.000000000000000000
  720. XSamplingScale.Step = 0.100000001490116100
  721. YSamplingScale.Step = 0.100000001490116100
  722. ZSamplingScale.Min = -2.000000000000000000
  723. ZSamplingScale.Max = 2.000000000000000000
  724. ZSamplingScale.Step = 0.100000001490116100
  725. Parts = [gpX, gpZ]
  726. end
  727. object GLPlane1: TGLPlane
  728. Material.MaterialLibrary = GLMatLib
  729. Material.LibMaterialName = 'LibMaterial'
  730. Direction.Coordinates = {000000000000803F0000000000000000}
  731. PitchAngle = 90.000000000000000000
  732. Up.Coordinates = {0000000000000000000080BF00000000}
  733. Height = 1.000000000000000000
  734. Width = 1.000000000000000000
  735. end
  736. object GLCamera1: TGLCamera
  737. DepthOfView = 100.000000000000000000
  738. FocalLength = 50.000000000000000000
  739. TargetObject = GLPlane1
  740. CameraStyle = csInfinitePerspective
  741. Position.Coordinates = {000000000000C03F0000803F0000803F}
  742. end
  743. end
  744. object GLCadencer1: TGLCadencer
  745. Scene = GLScene1
  746. OnProgress = GLCadencer1Progress
  747. Left = 32
  748. Top = 144
  749. end
  750. object CgShader1: TCgShader
  751. VertexProgram.OnApply = CgShader1ApplyVP
  752. FragmentProgram.OnApply = CgShader1ApplyFP
  753. FragmentProgram.OnUnApply = CgShader1UnApplyFP
  754. OnApplyVP = CgShader1ApplyVP
  755. OnApplyFP = CgShader1ApplyFP
  756. OnUnApplyFP = CgShader1UnApplyFP
  757. OnInitialize = CgShader1Initialize
  758. Left = 168
  759. Top = 80
  760. end
  761. object Timer1: TTimer
  762. OnTimer = Timer1Timer
  763. Left = 164
  764. Top = 144
  765. end
  766. object GLMatLib: TGLMaterialLibrary
  767. Materials = <
  768. item
  769. Name = 'LibMaterial'
  770. Tag = 0
  771. Material.Texture.Disabled = False
  772. Shader = CgShader1
  773. end
  774. item
  775. Name = 'LibMaterial1'
  776. Tag = 0
  777. Material.Texture.Disabled = False
  778. end
  779. item
  780. Name = 'LibMaterial2'
  781. Tag = 0
  782. end
  783. item
  784. Name = 'LibMaterial3'
  785. Tag = 0
  786. end>
  787. TexturePaths = '..\..\..\Media\'
  788. Left = 105
  789. Top = 80
  790. end
  791. end