Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1155 lines
15 KiB

  1. //
  2. // Xbox360 Project Generator Definition
  3. //
  4. "Xbox360"
  5. {
  6. "Version" "1.0"
  7. //
  8. // Configuration
  9. //
  10. "$General"
  11. {
  12. "$AdditionalProjectDependencies"
  13. {
  14. "type" "ignore"
  15. }
  16. "$AdditionalOutputFiles"
  17. {
  18. "type" "ignore"
  19. }
  20. "$GameOutputFile"
  21. {
  22. "type" "ignore"
  23. }
  24. "$ExcludedFromBuild"
  25. {
  26. "type" "bool"
  27. }
  28. "$OutputDirectory"
  29. {
  30. "type" "string"
  31. }
  32. "$IntermediateDirectory"
  33. {
  34. "type" "string"
  35. }
  36. "$ExtensionsToDeleteOnClean"
  37. {
  38. "type" "string"
  39. }
  40. "$BuildLogFile"
  41. {
  42. "type" "string"
  43. }
  44. "$InheritedProjectPropertySheets"
  45. {
  46. "type" "string"
  47. }
  48. "$ConfigurationType"
  49. {
  50. "ordinals"
  51. {
  52. "Utility" "0"
  53. "Application (.exe)" "1"
  54. "Title (.xex)" "1"
  55. "Dynamic Library (.dll)" "2"
  56. "Dynamic Library (.xex)" "2"
  57. "Static Library (.lib)" "4"
  58. }
  59. }
  60. "$UseOfMFC"
  61. {
  62. "type" "ignore"
  63. }
  64. "$UseOfATL"
  65. {
  66. "type" "ignore"
  67. }
  68. "$MinimizeCRTUseInATL"
  69. {
  70. "type" "ignore"
  71. }
  72. "$CharacterSet"
  73. {
  74. "ordinals"
  75. {
  76. "Not Set" "0"
  77. "Use Unicode Character Set" "1"
  78. "Use Multi-Byte Character Set" "2"
  79. }
  80. }
  81. "$CommonLanguageRuntimeSupport"
  82. {
  83. "type" "ignore"
  84. }
  85. "$WholeProgramOptimization"
  86. {
  87. "ordinals"
  88. {
  89. "No Whole Program Optimization" "0"
  90. "Use Link Time Code Generation" "1"
  91. "Profile Guided Optimization - Instrument" "2"
  92. "Profile Guided Optimization - Optimize" "3"
  93. "Profile Guided Optimization - Update" "4"
  94. }
  95. }
  96. }
  97. "$Debugging"
  98. {
  99. "$Command"
  100. {
  101. "type" "string"
  102. }
  103. "$CommandArguments"
  104. {
  105. "type" "string"
  106. }
  107. "$WorkingDirectory"
  108. {
  109. "type" "ignore"
  110. }
  111. "$Attach"
  112. {
  113. "type" "ignore"
  114. }
  115. "$DebuggerType"
  116. {
  117. "type" "ignore"
  118. }
  119. "$Environment"
  120. {
  121. "type" "ignore"
  122. }
  123. "$MergeEnvironment"
  124. {
  125. "type" "ignore"
  126. }
  127. "$SQLDebugging"
  128. {
  129. "type" "ignore"
  130. }
  131. "$MapDVDDrive"
  132. {
  133. "type" "ignore"
  134. }
  135. "$RemoteMachine"
  136. {
  137. "type" "string"
  138. }
  139. }
  140. "$Compiler"
  141. {
  142. "$Detect64bitPortabilityIssues"
  143. {
  144. "type" "ignore"
  145. }
  146. // General
  147. "$AdditionalIncludeDirectories"
  148. {
  149. "type" "string"
  150. }
  151. "$DebugInformationFormat"
  152. {
  153. "ordinals"
  154. {
  155. "Disabled" "0"
  156. "C7 Compatible (/Z7)" "1"
  157. "Program Database (/Zi)" "3"
  158. "Program Database for Edit & Continue (/ZI)" "4"
  159. }
  160. }
  161. "$SuppressStartupBanner"
  162. {
  163. "type" "bool"
  164. }
  165. "$WarningLevel"
  166. {
  167. "ordinals"
  168. {
  169. "Off: Turn Off All Warnings (/W0)" "0"
  170. "Level 1 (/W1)" "1"
  171. "Level 2 (/W2)" "2"
  172. "Level 3 (/W3)" "3"
  173. "Level 4 (/W4)" "4"
  174. }
  175. }
  176. "$TreatWarningsAsErrors"
  177. {
  178. "type" "bool"
  179. "output" "WarnAsError"
  180. }
  181. "$UseUNICODEResponseFiles"
  182. {
  183. "type" "bool"
  184. }
  185. // Optimization
  186. "$Optimization"
  187. {
  188. "ordinals"
  189. {
  190. "Disabled (/Od)" "0"
  191. "Minimize Size (/O1)" "1"
  192. "Maximize Speed (/O2)" "2"
  193. "Full Optimization (/Ox)" "3"
  194. "Custom" "4"
  195. }
  196. }
  197. "$InlineFunctionExpansion"
  198. {
  199. "ordinals"
  200. {
  201. "Default" "0"
  202. "Only __inline (/Ob1)" "1"
  203. "Any Suitable (/Ob2)" "2"
  204. }
  205. }
  206. "$EnableIntrinsicFunctions"
  207. {
  208. "type" "bool"
  209. }
  210. "$FavorSizeOrSpeed"
  211. {
  212. "ordinals"
  213. {
  214. "Neither" "0"
  215. "Favor Fast Code (/Ot)" "1"
  216. "Favor Small Code (/Os)" "2"
  217. }
  218. }
  219. "$EnableFiberSafeOptimizations"
  220. {
  221. "type" "bool"
  222. }
  223. "$WholeProgramOptimization"
  224. {
  225. "type" "bool"
  226. }
  227. // Preprocessor
  228. "$PreprocessorDefinitions"
  229. {
  230. "type" "string"
  231. }
  232. "$IgnoreStandardIncludePath"
  233. {
  234. "type" "bool"
  235. }
  236. "$GeneratePreprocessedFile"
  237. {
  238. "ordinals"
  239. {
  240. "No" "0"
  241. "With Line Numbers (/P)" "1"
  242. "Without Line Numbers (/EP /P)" "2"
  243. }
  244. }
  245. "$KeepComments"
  246. {
  247. "type" "bool"
  248. }
  249. // Code Generation
  250. "$EnableStringPooling"
  251. {
  252. "type" "bool"
  253. "output" "StringPooling"
  254. }
  255. "$EnableMinimalRebuild"
  256. {
  257. "type" "bool"
  258. "output" "MinimalRebuild"
  259. }
  260. "$EnableC++Exceptions"
  261. {
  262. "alias" "EnableCPPExceptions"
  263. "output" "ExceptionHandling"
  264. "ordinals"
  265. {
  266. "No" "0"
  267. "Yes (/EHsc)" "1"
  268. "Yes With SEH Exceptions (/EHa)" "2"
  269. }
  270. }
  271. "$SmallerTypeCheck"
  272. {
  273. "type" "bool"
  274. }
  275. "$BasicRuntimeChecks"
  276. {
  277. "ordinals"
  278. {
  279. "Default" "0"
  280. "Stack Frames (/RTCs)" "1"
  281. "Uninitialized Variables (/RTCu)" "2"
  282. "Both (/RTC1, equiv. to /RTCsu)" "3"
  283. }
  284. }
  285. "$RuntimeLibrary"
  286. {
  287. "ordinals"
  288. {
  289. "Multi-threaded (/MT)" "0"
  290. "Multi-threaded Debug (/MTd)" "1"
  291. "Multi-threaded DLL (/MD)" "2"
  292. "Multi-threaded Debug DLL (/MDd)" "3"
  293. }
  294. }
  295. "$StructMemberAlignment"
  296. {
  297. "ordinals"
  298. {
  299. "Default" "0"
  300. "1 Byte (/Zp1)" "1"
  301. "2 Bytes (/Zp2)" "2"
  302. "4 Bytes (/Zp4)" "3"
  303. "8 Bytes (/Zp8)" "4"
  304. "16 Bytes (/Zp16)" "5"
  305. }
  306. }
  307. "$BufferSecurityCheck"
  308. {
  309. "type" "bool"
  310. }
  311. "$EnableFunctionLevelLinking"
  312. {
  313. "type" "bool"
  314. }
  315. "$FloatingPointModel"
  316. {
  317. "ordinals"
  318. {
  319. "Precise (/fp:precise)" "0"
  320. "Strict (/fp:strict)" "1"
  321. "Fast (/fp:fast)" "2"
  322. }
  323. }
  324. "$EnableFloatingPointExceptions"
  325. {
  326. "type" "bool"
  327. "output" "FloatingPointExceptions"
  328. }
  329. // Language
  330. "$DisableLanguageExtensions"
  331. {
  332. "type" "bool"
  333. }
  334. "$DefaultCharUnsigned"
  335. {
  336. "type" "bool"
  337. "output" "DefaultCharIsUnsigned"
  338. }
  339. "$TreatWCHAR_TAsBuiltInType"
  340. {
  341. "type" "bool"
  342. "output" "TreatWChar_tAsBuiltInType"
  343. }
  344. "$ForceConformanceInForLoopScope"
  345. {
  346. "type" "bool"
  347. }
  348. "$EnableRunTimeTypeInfo"
  349. {
  350. "type" "bool"
  351. "output" "RuntimeTypeInfo"
  352. }
  353. "$OpenMPSupport"
  354. {
  355. "type" "bool"
  356. "output" "OpenMP"
  357. }
  358. // Precompiled Headers
  359. "$Create/UsePrecompiledHeader"
  360. {
  361. "alias" "CreateUsePrecompiledHeader"
  362. "output" "UsePrecompiledHeader"
  363. "ordinals"
  364. {
  365. "Not Using Precompiled Headers" "0"
  366. "Create Precompiled Header (/Yc)" "1"
  367. "Use Precompiled Header (/Yu)" "2"
  368. }
  369. }
  370. "$Create/UsePCHThroughFile"
  371. {
  372. "alias" "CreateUsePCHThroughFile"
  373. "type" "string"
  374. "output" "PrecompiledHeaderThrough"
  375. }
  376. "$PrecompiledHeaderFile"
  377. {
  378. "type" "string"
  379. "fixslashes" "1"
  380. }
  381. // Output Files
  382. "$ExpandAttributedSource"
  383. {
  384. "type" "bool"
  385. }
  386. "$AssemblerOutput"
  387. {
  388. "ordinals"
  389. {
  390. "No Listing" "0"
  391. "Assembly-Only Listing (/FA)" "1"
  392. "Assembly, Machine Code and Source (/FAcs)" "2"
  393. "Assembly With Machine Code (/FAc)" "3"
  394. "Assembly With Source Code (/FAs)" "4"
  395. }
  396. }
  397. "$ASMListLocation"
  398. {
  399. "type" "string"
  400. "output" "AssemblerListingLocation"
  401. }
  402. "$ObjectFileName"
  403. {
  404. "type" "string"
  405. "output" "ObjectFile"
  406. }
  407. "$ProgramDatabaseFileName"
  408. {
  409. "type" "string"
  410. "output" "ProgramDataBaseFileName"
  411. }
  412. "$GenerateXMLDocumentationFiles"
  413. {
  414. "type" "bool"
  415. }
  416. "$XMLDocumentationFileName"
  417. {
  418. "type" "string"
  419. }
  420. // Browse Information
  421. "$EnableBrowseInformation"
  422. {
  423. "output" "BrowseInformation"
  424. "ordinals"
  425. {
  426. "None" "0"
  427. "Include All Browse Information (/FR)" "1"
  428. "No Local Symbols (/Fr)" "2"
  429. }
  430. }
  431. "$BrowseFile"
  432. {
  433. "type" "string"
  434. "output" "BrowseInformationFile"
  435. }
  436. // Advanced
  437. "$CompileAs"
  438. {
  439. "ordinals"
  440. {
  441. "Default" "0"
  442. "Compile as C Code (/TC)" "1"
  443. "Compile as C++ Code (/TP)" "2"
  444. }
  445. }
  446. "$DisableSpecificWarnings"
  447. {
  448. "type" "string"
  449. }
  450. "$ForceIncludes"
  451. {
  452. "type" "string"
  453. "output" "ForcedIncludeFiles"
  454. }
  455. "$ShowIncludes"
  456. {
  457. "type" "bool"
  458. }
  459. "$UndefinePreprocessorDefinitions"
  460. {
  461. "type" "string"
  462. }
  463. "$UndefineAllPreprocessorDefinitions"
  464. {
  465. "type" "bool"
  466. }
  467. "$UseFullPaths"
  468. {
  469. "type" "bool"
  470. }
  471. "$OmitDefaultLibraryNames"
  472. {
  473. "type" "bool"
  474. "output" "OmitDefaultLibName"
  475. }
  476. // Xbox 360
  477. "$RegisterReservation"
  478. {
  479. "type" "bool"
  480. }
  481. "$TrapIntegerDividesOptimization"
  482. {
  483. "type" "bool"
  484. "output" "TrapIntegerDivides"
  485. }
  486. "$PreschedulingOptimization"
  487. {
  488. "type" "bool"
  489. "output" "Prescheduling"
  490. }
  491. "$InlineAssemblyOptimization"
  492. {
  493. "type" "bool"
  494. "output" "InlineAssembly"
  495. }
  496. "$Stalls"
  497. {
  498. "type" "bool"
  499. }
  500. "$CallAttributedProfiling"
  501. {
  502. "ordinals"
  503. {
  504. "Disabled" "0"
  505. "Call profiler around function calls. (/fastcap)" "1"
  506. "Call profiler within function calls. (/callcap)" "2"
  507. }
  508. }
  509. // Command Line
  510. "$AdditionalOptions"
  511. {
  512. "type" "string"
  513. }
  514. }
  515. "$Linker"
  516. {
  517. "$SystemLibraries"
  518. {
  519. "type" "ignore"
  520. }
  521. "$SystemFrameworks"
  522. {
  523. "type" "ignore"
  524. }
  525. "$GCC_ExtraLinkerFlags"
  526. {
  527. "type" "ignore"
  528. }
  529. // General
  530. "$OutputFile"
  531. {
  532. "type" "string"
  533. "fixslashes" "1"
  534. }
  535. "$ShowProgress"
  536. {
  537. "ordinals"
  538. {
  539. "Not Set" "0"
  540. "Display All Progress Messages (/VERBOSE)" "1"
  541. "Displays Some Progress Messages (/VERBOSE:LIB)" "2"
  542. }
  543. }
  544. "$Version"
  545. {
  546. "type" "string"
  547. }
  548. "$EnableIncrementalLinking"
  549. {
  550. "output" "LinkIncremental"
  551. "ordinals"
  552. {
  553. "Default" "0"
  554. "No (/INCREMENTAL:NO)" "1"
  555. "Yes (/INCREMENTAL)" "2"
  556. }
  557. }
  558. "$SuppressStartupBanner"
  559. {
  560. "type" "bool"
  561. }
  562. "$IgnoreImportLibrary"
  563. {
  564. "type" "bool"
  565. }
  566. "$AdditionalLibraryDirectories"
  567. {
  568. "type" "string"
  569. }
  570. "$LinkLibraryDependencies"
  571. {
  572. "type" "bool"
  573. }
  574. "$UseLibraryDependencyInputs"
  575. {
  576. "type" "bool"
  577. }
  578. "$UseUNICODEResponseFiles"
  579. {
  580. "type" "bool"
  581. }
  582. // Input
  583. "$AdditionalDependencies"
  584. {
  585. "type" "string"
  586. }
  587. "$IgnoreAllDefaultLibraries"
  588. {
  589. "type" "bool"
  590. }
  591. "$IgnoreSpecificLibrary"
  592. {
  593. "type" "string"
  594. "output" "IgnoreDefaultLibraryNames"
  595. }
  596. "$ModuleDefinitionFile"
  597. {
  598. "type" "string"
  599. }
  600. "$ForceSymbolReferences"
  601. {
  602. "type" "string"
  603. }
  604. // Debugging
  605. "$GenerateDebugInfo"
  606. {
  607. "type" "bool"
  608. "output" "GenerateDebugInformation"
  609. }
  610. "$GenerateProgramDatabaseFile"
  611. {
  612. "type" "string"
  613. "output" "ProgramDatabaseFile"
  614. }
  615. "$StripPrivateSymbols"
  616. {
  617. "type" "string"
  618. }
  619. "$GenerateMapFile"
  620. {
  621. "type" "bool"
  622. }
  623. "$MapFileName"
  624. {
  625. "type" "string"
  626. }
  627. "$MapExports"
  628. {
  629. "type" "bool"
  630. }
  631. // System
  632. "$StackReserveSize"
  633. {
  634. "type" "integer"
  635. }
  636. "$StackCommitSize"
  637. {
  638. "type" "integer"
  639. }
  640. // Optimization
  641. "$References"
  642. {
  643. "output" "OptimizeReferences"
  644. "ordinals"
  645. {
  646. "Default" "0"
  647. "Keep Unreferenced Data (/OPT:NOREF)" "1"
  648. "Eliminate Unreferenced Data (/OPT:REF)" "2"
  649. }
  650. }
  651. "$EnableCOMDATFolding"
  652. {
  653. "ordinals"
  654. {
  655. "Default" "0"
  656. "Do Not Remove Redundant COMDATs (/OPT:NOICF)" "1"
  657. "Remove Redundant COMDATs (/OPT:ICF)" "2"
  658. }
  659. }
  660. "$FunctionOrder"
  661. {
  662. "type" "string"
  663. }
  664. "$ProfileGuidedDatabase"
  665. {
  666. "type" "string"
  667. }
  668. "$LinkTimeCodeGeneration"
  669. {
  670. "ordinals"
  671. {
  672. "Default" "0"
  673. "Use Link Time Code Generation (/ltcg)" "1"
  674. "Profile Guided Optimization - Instrument (/ltcg:pginstrument)" "2"
  675. "Profile Guided Optimization - Optimize (/ltcg:pgoptimize)" "3"
  676. "Profile Guided Optimization - Update (/ltcg:pgupdate)" "4"
  677. }
  678. }
  679. // Advanced
  680. "$EntryPoint"
  681. {
  682. "type" "string"
  683. "output" "EntryPointSymbol"
  684. }
  685. "$NoEntryPoint"
  686. {
  687. "type" "bool"
  688. "output" "ResourceOnlyDLL"
  689. }
  690. "$SetChecksum"
  691. {
  692. "type" "bool"
  693. }
  694. "$BaseAddress"
  695. {
  696. "type" "string"
  697. }
  698. "$FixedBaseAddress"
  699. {
  700. "ordinals"
  701. {
  702. "Default" "0"
  703. "Generate a relocation section (/FIXED:NO)" "1"
  704. "Image must be loaded at a fixed address (/FIXED)" "2"
  705. }
  706. }
  707. "$ImportLibrary"
  708. {
  709. "type" "string"
  710. }
  711. "$MergeSections"
  712. {
  713. "type" "string"
  714. }
  715. "$ErrorReporting"
  716. {
  717. "ordinals"
  718. {
  719. "Default" "0"
  720. "Prompt Immediately (/ERRORREPORT:PROMPT)" "1"
  721. "Queue For Next Login (/ERRORREPORT:QUEUE)" "2"
  722. }
  723. }
  724. // Command Line
  725. "$AdditionalOptions"
  726. {
  727. "type" "string"
  728. }
  729. }
  730. "$Librarian"
  731. {
  732. "$OutputFile"
  733. {
  734. "type" "string"
  735. }
  736. "$AdditionalDependencies"
  737. {
  738. "type" "string"
  739. }
  740. "$AdditionalLibraryDirectories"
  741. {
  742. "type" "string"
  743. }
  744. "$SuppressStartupBanner"
  745. {
  746. "type" "bool"
  747. }
  748. "$ModuleDefinitionFileName"
  749. {
  750. "type" "string"
  751. }
  752. "$IgnoreAllDefaultLibraries"
  753. {
  754. "type" "bool"
  755. }
  756. "$IgnoreSpecificLibrary"
  757. {
  758. "type" "string"
  759. "output" "IgnoreDefaultLibraryNames"
  760. }
  761. "$ExportNamedFunctions"
  762. {
  763. "type" "string"
  764. }
  765. "$ForceSymbolReferences"
  766. {
  767. "type" "string"
  768. }
  769. "$UseUNICODEResponseFiles"
  770. {
  771. "type" "bool"
  772. }
  773. "$LinkLibraryDependencies"
  774. {
  775. "type" "bool"
  776. }
  777. "$AdditionalOptions"
  778. {
  779. "type" "string"
  780. }
  781. }
  782. "$BrowseInformation"
  783. {
  784. "$SuppressStartupBanner"
  785. {
  786. "type" "bool"
  787. }
  788. "$OutputFile"
  789. {
  790. "type" "string"
  791. }
  792. "$AdditionalOptions"
  793. {
  794. "type" "string"
  795. }
  796. }
  797. $PreBuildEvent
  798. {
  799. "$CommandLine"
  800. {
  801. "type" "string"
  802. }
  803. "$Description"
  804. {
  805. "type" "string"
  806. }
  807. "$ExcludedFromBuild"
  808. {
  809. "type" "bool"
  810. }
  811. }
  812. $PreLinkEvent
  813. {
  814. "$CommandLine"
  815. {
  816. "type" "string"
  817. }
  818. "$Description"
  819. {
  820. "type" "string"
  821. }
  822. "$ExcludedFromBuild"
  823. {
  824. "type" "bool"
  825. }
  826. }
  827. $PostBuildEvent
  828. {
  829. "$CommandLine"
  830. {
  831. "type" "string"
  832. }
  833. "$Description"
  834. {
  835. "type" "string"
  836. }
  837. "$ExcludedFromBuild"
  838. {
  839. "type" "bool"
  840. }
  841. }
  842. $CustomBuildStep
  843. {
  844. "$CommandLine"
  845. {
  846. "type" "string"
  847. }
  848. "$Description"
  849. {
  850. "type" "string"
  851. }
  852. "$Outputs"
  853. {
  854. "type" "string"
  855. }
  856. "$AdditionalDependencies"
  857. {
  858. "type" "string"
  859. }
  860. }
  861. $Xbox360ImageConversion
  862. {
  863. "$OutputFile"
  864. {
  865. "type" "string"
  866. "output" "OutputFileName"
  867. }
  868. "$TitleID"
  869. {
  870. "type" "string"
  871. }
  872. "$LANKey"
  873. {
  874. "type" "string"
  875. }
  876. "$SuppressStartupBanner"
  877. {
  878. "type" "bool"
  879. }
  880. "$BaseAddress"
  881. {
  882. "type" "string"
  883. }
  884. "$HeapSize"
  885. {
  886. "type" "string"
  887. }
  888. "$WorkspaceSize"
  889. {
  890. "type" "string"
  891. }
  892. "$AdditionalSections"
  893. {
  894. "type" "string"
  895. }
  896. "$ExportByName"
  897. {
  898. "type" "bool"
  899. }
  900. "$OpticalDiscDriveMapping"
  901. {
  902. "type" "bool"
  903. "output" "PrivilegeNoODDMapping"
  904. }
  905. "$PAL50Incompatible"
  906. {
  907. "type" "bool"
  908. "output" "PrivilegePAL50Incompatible"
  909. }
  910. "$ProjectDefaults"
  911. {
  912. "type" "string"
  913. }
  914. "$AdditionalOptions"
  915. {
  916. "type" "string"
  917. }
  918. }
  919. $ConsoleDeployment
  920. {
  921. "$DeploymentType"
  922. {
  923. "ordinals"
  924. {
  925. "Copy to Hard Drive" "0"
  926. "Emulate DVD Drive" "1"
  927. }
  928. }
  929. "$DeploymentFiles"
  930. {
  931. "type" "string"
  932. }
  933. "$ExcludedFromBuild"
  934. {
  935. "type" "bool"
  936. }
  937. "$SuppressStartupBanner"
  938. {
  939. "type" "bool"
  940. }
  941. "$Progress"
  942. {
  943. "type" "bool"
  944. }
  945. "$ForceCopy"
  946. {
  947. "type" "bool"
  948. }
  949. "$DeploymentRoot"
  950. {
  951. "type" "string"
  952. "output" "RemoteRoot"
  953. }
  954. "$EmulationType"
  955. {
  956. "ordinals"
  957. {
  958. "Zero Seek Times" "0"
  959. "Accurate Seek Times" "2"
  960. }
  961. }
  962. "$Layout"
  963. {
  964. "type" "string"
  965. }
  966. "$LayoutRoot"
  967. {
  968. "type" "string"
  969. }
  970. "$AdditionalOptions"
  971. {
  972. "type" "string"
  973. }
  974. }
  975. }