@gamepark/rules-api 6.19.0 → 6.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/dist/Action.d.ts +25 -25
  2. package/dist/Action.js +61 -61
  3. package/dist/Action.js.map +1 -1
  4. package/dist/ApplyAutomaticMoves.d.ts +2 -2
  5. package/dist/ApplyAutomaticMoves.js +24 -24
  6. package/dist/ApplyAutomaticMoves.js.map +1 -1
  7. package/dist/Competitive.d.ts +13 -13
  8. package/dist/Competitive.js +45 -45
  9. package/dist/Competitive.js.map +1 -1
  10. package/dist/DefaultGameSetup.d.ts +7 -7
  11. package/dist/DefaultGameSetup.js +14 -14
  12. package/dist/Dummy.d.ts +7 -7
  13. package/dist/Dummy.js +26 -26
  14. package/dist/Dummy.js.map +1 -1
  15. package/dist/Eliminations.d.ts +5 -5
  16. package/dist/Eliminations.js +8 -8
  17. package/dist/GameSetup.d.ts +3 -3
  18. package/dist/GameSetup.js +2 -2
  19. package/dist/GameSetupCreator.d.ts +4 -4
  20. package/dist/GameSetupCreator.js +2 -2
  21. package/dist/IncompleteInformation.d.ts +14 -14
  22. package/dist/IncompleteInformation.js +37 -37
  23. package/dist/IncompleteInformation.js.map +1 -1
  24. package/dist/LocalMovePreview.d.ts +4 -0
  25. package/dist/LocalMovePreview.js +8 -0
  26. package/dist/LocalMovePreview.js.map +1 -0
  27. package/dist/LoopWithFuse.d.ts +4 -4
  28. package/dist/LoopWithFuse.js +14 -14
  29. package/dist/LoopWithFuse.js.map +1 -1
  30. package/dist/RandomMove.d.ts +7 -7
  31. package/dist/RandomMove.js +14 -14
  32. package/dist/Robot.d.ts +1 -1
  33. package/dist/Robot.js +2 -2
  34. package/dist/Rules.d.ts +18 -17
  35. package/dist/Rules.js +78 -78
  36. package/dist/Rules.js.map +1 -1
  37. package/dist/RulesCreator.d.ts +7 -7
  38. package/dist/RulesCreator.js +2 -2
  39. package/dist/TimeLimit.d.ts +10 -10
  40. package/dist/TimeLimit.js +12 -12
  41. package/dist/TimeLimit.js.map +1 -1
  42. package/dist/Undo.d.ts +6 -6
  43. package/dist/Undo.js +8 -8
  44. package/dist/UnpredictableMove.d.ts +5 -5
  45. package/dist/UnpredictableMove.js +5 -5
  46. package/dist/index.d.ts +21 -20
  47. package/dist/index.js +37 -36
  48. package/dist/index.js.map +1 -1
  49. package/dist/material/HiddenMaterialRules.d.ts +36 -35
  50. package/dist/material/HiddenMaterialRules.js +245 -245
  51. package/dist/material/HiddenMaterialRules.js.map +1 -1
  52. package/dist/material/MaterialGame.d.ts +15 -15
  53. package/dist/material/MaterialGame.js +2 -2
  54. package/dist/material/MaterialGameSetup.d.ts +21 -21
  55. package/dist/material/MaterialGameSetup.js +75 -75
  56. package/dist/material/MaterialGameSetup.js.map +1 -1
  57. package/dist/material/MaterialRules.d.ts +44 -44
  58. package/dist/material/MaterialRules.js +242 -242
  59. package/dist/material/MaterialRules.js.map +1 -1
  60. package/dist/material/SecretMaterialRules.d.ts +13 -13
  61. package/dist/material/SecretMaterialRules.js +37 -37
  62. package/dist/material/index.d.ts +10 -10
  63. package/dist/material/index.js +26 -26
  64. package/dist/material/items/Material.d.ts +59 -60
  65. package/dist/material/items/Material.js +406 -405
  66. package/dist/material/items/Material.js.map +1 -1
  67. package/dist/material/items/MaterialItem.d.ts +7 -7
  68. package/dist/material/items/MaterialItem.js +2 -2
  69. package/dist/material/items/MaterialMutator.d.ts +31 -31
  70. package/dist/material/items/MaterialMutator.js +277 -277
  71. package/dist/material/items/MaterialMutator.js.map +1 -1
  72. package/dist/material/items/index.d.ts +3 -3
  73. package/dist/material/items/index.js +19 -19
  74. package/dist/material/location/Location.d.ts +11 -11
  75. package/dist/material/location/Location.js +2 -2
  76. package/dist/material/location/LocationBuilder.d.ts +12 -12
  77. package/dist/material/location/LocationBuilder.js +40 -40
  78. package/dist/material/location/index.d.ts +3 -3
  79. package/dist/material/location/index.js +19 -19
  80. package/dist/material/location/strategy/FillGapStrategy.d.ts +7 -7
  81. package/dist/material/location/strategy/FillGapStrategy.js +23 -23
  82. package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
  83. package/dist/material/location/strategy/LocationStrategy.d.ts +6 -6
  84. package/dist/material/location/strategy/LocationStrategy.js +2 -2
  85. package/dist/material/location/strategy/PositiveSequenceStrategy.d.ts +9 -9
  86. package/dist/material/location/strategy/PositiveSequenceStrategy.js +65 -65
  87. package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
  88. package/dist/material/location/strategy/index.d.ts +3 -3
  89. package/dist/material/location/strategy/index.js +19 -19
  90. package/dist/material/memory/GameMemory.d.ts +8 -8
  91. package/dist/material/memory/GameMemory.js +27 -27
  92. package/dist/material/memory/GameMemory.js.map +1 -1
  93. package/dist/material/memory/PlayerMemory.d.ts +9 -9
  94. package/dist/material/memory/PlayerMemory.js +32 -32
  95. package/dist/material/memory/PlayerMemory.js.map +1 -1
  96. package/dist/material/memory/index.d.ts +2 -2
  97. package/dist/material/memory/index.js +18 -18
  98. package/dist/material/moves/CustomMove.d.ts +9 -9
  99. package/dist/material/moves/CustomMove.js +10 -10
  100. package/dist/material/moves/MaterialMove.d.ts +7 -7
  101. package/dist/material/moves/MaterialMove.js +2 -2
  102. package/dist/material/moves/MoveKind.d.ts +6 -6
  103. package/dist/material/moves/MoveKind.js +10 -10
  104. package/dist/material/moves/MoveKind.js.map +1 -1
  105. package/dist/material/moves/index.d.ts +6 -6
  106. package/dist/material/moves/index.js +22 -22
  107. package/dist/material/moves/items/CreateItem.d.ts +10 -10
  108. package/dist/material/moves/items/CreateItem.js +15 -15
  109. package/dist/material/moves/items/CreateItemsAtOnce.d.ts +10 -10
  110. package/dist/material/moves/items/CreateItemsAtOnce.js +15 -15
  111. package/dist/material/moves/items/DeleteItem.d.ts +10 -10
  112. package/dist/material/moves/items/DeleteItem.js +15 -15
  113. package/dist/material/moves/items/DeleteItemsAtOnce.d.ts +9 -9
  114. package/dist/material/moves/items/DeleteItemsAtOnce.js +15 -15
  115. package/dist/material/moves/items/ItemMove.d.ts +17 -17
  116. package/dist/material/moves/items/ItemMove.js +2 -2
  117. package/dist/material/moves/items/ItemMoveType.d.ts +11 -11
  118. package/dist/material/moves/items/ItemMoveType.js +15 -15
  119. package/dist/material/moves/items/ItemMoveType.js.map +1 -1
  120. package/dist/material/moves/items/ItemMovesBuilder.d.ts +8 -8
  121. package/dist/material/moves/items/ItemMovesBuilder.js +33 -33
  122. package/dist/material/moves/items/ItemMovesBuilder.js.map +1 -1
  123. package/dist/material/moves/items/MoveItem.d.ts +14 -14
  124. package/dist/material/moves/items/MoveItem.js +15 -15
  125. package/dist/material/moves/items/MoveItemsAtOnce.d.ts +13 -13
  126. package/dist/material/moves/items/MoveItemsAtOnce.js +15 -15
  127. package/dist/material/moves/items/RollItem.d.ts +11 -11
  128. package/dist/material/moves/items/RollItem.js +15 -15
  129. package/dist/material/moves/items/SelectItem.d.ts +11 -11
  130. package/dist/material/moves/items/SelectItem.js +15 -15
  131. package/dist/material/moves/items/Shuffle.d.ts +13 -13
  132. package/dist/material/moves/items/Shuffle.js +19 -19
  133. package/dist/material/moves/items/index.d.ts +12 -12
  134. package/dist/material/moves/items/index.js +28 -28
  135. package/dist/material/moves/local/CloseTutorialPopup.d.ts +8 -8
  136. package/dist/material/moves/local/CloseTutorialPopup.js +9 -9
  137. package/dist/material/moves/local/DisplayHelp.d.ts +39 -39
  138. package/dist/material/moves/local/DisplayHelp.js +29 -29
  139. package/dist/material/moves/local/DisplayHelp.js.map +1 -1
  140. package/dist/material/moves/local/DropItem.d.ts +13 -13
  141. package/dist/material/moves/local/DropItem.js +9 -9
  142. package/dist/material/moves/local/LocalMove.d.ts +12 -12
  143. package/dist/material/moves/local/LocalMove.js +11 -11
  144. package/dist/material/moves/local/LocalMove.js.map +1 -1
  145. package/dist/material/moves/local/SetTutorialStep.d.ts +9 -9
  146. package/dist/material/moves/local/SetTutorialStep.js +9 -9
  147. package/dist/material/moves/local/index.d.ts +5 -5
  148. package/dist/material/moves/local/index.js +21 -21
  149. package/dist/material/moves/rules/EndGame.d.ts +6 -6
  150. package/dist/material/moves/rules/EndGame.js +9 -9
  151. package/dist/material/moves/rules/EndPlayerTurn.d.ts +7 -7
  152. package/dist/material/moves/rules/EndPlayerTurn.js +9 -9
  153. package/dist/material/moves/rules/RuleMove.d.ts +18 -18
  154. package/dist/material/moves/rules/RuleMove.js +18 -18
  155. package/dist/material/moves/rules/RuleMove.js.map +1 -1
  156. package/dist/material/moves/rules/StartPlayerTurn.d.ts +8 -8
  157. package/dist/material/moves/rules/StartPlayerTurn.js +9 -9
  158. package/dist/material/moves/rules/StartRule.d.ts +7 -7
  159. package/dist/material/moves/rules/StartRule.js +9 -9
  160. package/dist/material/moves/rules/StartSimultaneousRule.d.ts +8 -8
  161. package/dist/material/moves/rules/StartSimultaneousRule.js +9 -9
  162. package/dist/material/moves/rules/index.d.ts +6 -6
  163. package/dist/material/moves/rules/index.js +22 -22
  164. package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +12 -12
  165. package/dist/material/rules/MaterialRulesMovesBuilder.js +35 -35
  166. package/dist/material/rules/MaterialRulesPart.d.ts +23 -23
  167. package/dist/material/rules/MaterialRulesPart.js +64 -64
  168. package/dist/material/rules/MaterialRulesPart.js.map +1 -1
  169. package/dist/material/rules/PlayerTurnRule.d.ts +9 -9
  170. package/dist/material/rules/PlayerTurnRule.js +52 -52
  171. package/dist/material/rules/RuleStep.d.ts +5 -5
  172. package/dist/material/rules/RuleStep.js +2 -2
  173. package/dist/material/rules/SimultaneousRule.d.ts +9 -9
  174. package/dist/material/rules/SimultaneousRule.js +41 -41
  175. package/dist/material/rules/SimultaneousRule.js.map +1 -1
  176. package/dist/material/rules/index.d.ts +5 -5
  177. package/dist/material/rules/index.js +21 -21
  178. package/dist/options/EnumOption.d.ts +6 -6
  179. package/dist/options/EnumOption.js +7 -7
  180. package/dist/options/Option.d.ts +8 -8
  181. package/dist/options/Option.js +2 -2
  182. package/dist/options/OptionSpecOf.d.ts +5 -5
  183. package/dist/options/OptionSpecOf.js +2 -2
  184. package/dist/options/OptionsSpec.d.ts +9 -9
  185. package/dist/options/OptionsSpec.js +2 -2
  186. package/dist/options/OptionsValidationError.d.ts +4 -4
  187. package/dist/options/OptionsValidationError.js +29 -29
  188. package/dist/options/OptionsValidationError.js.map +1 -1
  189. package/dist/options/PlayerEnumOption.d.ts +14 -14
  190. package/dist/options/PlayerEnumOption.js +66 -66
  191. package/dist/options/PlayerEnumOption.js.map +1 -1
  192. package/dist/options/PlayersOptionsSpec.d.ts +7 -7
  193. package/dist/options/PlayersOptionsSpec.js +2 -2
  194. package/dist/options/WithIdOption.d.ts +3 -3
  195. package/dist/options/WithIdOption.js +2 -2
  196. package/dist/options/WithPlayerOptionsSpec.d.ts +6 -6
  197. package/dist/options/WithPlayerOptionsSpec.js +7 -7
  198. package/dist/options/WithPlayersOptions.d.ts +3 -3
  199. package/dist/options/WithPlayersOptions.js +2 -2
  200. package/dist/options/index.d.ts +11 -11
  201. package/dist/options/index.js +27 -27
  202. package/dist/options/isWithPlayerIdOptions.d.ts +4 -4
  203. package/dist/options/isWithPlayerIdOptions.js +11 -11
  204. package/dist/utils/EnumUtils.d.ts +1 -1
  205. package/dist/utils/EnumUtils.js +7 -7
  206. package/dist/utils/grid.squares.util.d.ts +11 -11
  207. package/dist/utils/grid.squares.util.js +30 -30
  208. package/dist/utils/grid.squares.util.js.map +1 -1
  209. package/dist/utils/grid.util.d.ts +5 -5
  210. package/dist/utils/grid.util.js +7 -7
  211. package/dist/utils/index.d.ts +5 -5
  212. package/dist/utils/index.js +21 -21
  213. package/dist/utils/isDeadEndMove.util.d.ts +2 -2
  214. package/dist/utils/isDeadEndMove.util.js +18 -18
  215. package/dist/utils/listing.util.d.ts +2 -2
  216. package/dist/utils/listing.util.js +23 -23
  217. package/dist/utils/listing.util.js.map +1 -1
  218. package/package.json +34 -33
  219. package/dist/material/items/MaterialDeck.d.ts +0 -7
  220. package/dist/material/items/MaterialDeck.js +0 -35
  221. package/dist/material/items/MaterialDeck.js.map +0 -1
  222. package/dist/material/moves/items/MoveAtOnce.d.ts +0 -13
  223. package/dist/material/moves/items/MoveAtOnce.js +0 -16
  224. package/dist/material/moves/items/MoveAtOnce.js.map +0 -1
  225. package/dist/material/moves/items/Roll.d.ts +0 -11
  226. package/dist/material/moves/items/Roll.js +0 -16
  227. package/dist/material/moves/items/Roll.js.map +0 -1
  228. package/dist/material/moves/local/DisplayRules.d.ts +0 -32
  229. package/dist/material/moves/local/DisplayRules.js +0 -25
  230. package/dist/material/moves/local/DisplayRules.js.map +0 -1
  231. package/dist/material/moves/rules/StartSimultanousRule.d.ts +0 -10
  232. package/dist/material/moves/rules/StartSimultanousRule.js +0 -10
  233. package/dist/material/moves/rules/StartSimultanousRule.js.map +0 -1
  234. package/dist/options/PlayerIdSpec.d.ts +0 -7
  235. package/dist/options/PlayerIdSpec.js +0 -18
  236. package/dist/options/PlayerIdSpec.js.map +0 -1
  237. package/dist/options/getFallbackPlayerName.d.ts +0 -4
  238. package/dist/options/getFallbackPlayerName.js +0 -14
  239. package/dist/options/getFallbackPlayerName.js.map +0 -1
  240. package/dist/options/providePlayerIds.d.ts +0 -6
  241. package/dist/options/providePlayerIds.js +0 -36
  242. package/dist/options/providePlayerIds.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFallbackPlayerName.js","sourceRoot":"","sources":["../../src/options/getFallbackPlayerName.ts"],"names":[],"mappings":";;;AACA,iEAA+D;AAI/D,SAAgB,qBAAqB,CAA0C,EAAM,EAAE,CAAY,EAAE,WAAkC;IACrI,IAAI,WAAW,IAAI,IAAA,6CAAqB,EAAiB,WAAW,CAAC,EAAE;QACrE,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KACrD;SAAM;QACL,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC,CAAA;KAC1C;AACH,CAAC;AAND,sDAMC"}
@@ -1,6 +0,0 @@
1
- import { WithIdOption } from './WithIdOption';
2
- import { WithPlayersOptions } from './WithPlayersOptions';
3
- export declare function providePlayerIds(players: number): number[];
4
- export declare function providePlayerIds<Options>(players: number, options: Options): number[];
5
- export declare function providePlayerIds<Id, Player extends WithIdOption<Id>, Options extends WithPlayersOptions<Player>>(players: number, options: Options): Id[];
6
- export declare function providePlayerIds<Id, Player extends WithIdOption<Id>, Options extends WithPlayersOptions<Player>>(players: (Id | null)[], options: Options): Id[];
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.providePlayerIds = void 0;
13
- var isWithPlayerIdOptions_1 = require("./isWithPlayerIdOptions");
14
- var PlayerIdSpec_1 = require("./PlayerIdSpec");
15
- function providePlayerIds(players, optionsSpec) {
16
- var result = typeof players === 'number' ? Array(players).fill(null) : __spreadArray([], players, true);
17
- var numberOfPlayers = typeof players === 'number' ? players : players.length;
18
- var mandatoryIds = optionsSpec && (0, isWithPlayerIdOptions_1.isWithPlayerIdOptions)(optionsSpec) ? (0, PlayerIdSpec_1.getMandatoryIds)(optionsSpec.players.id, numberOfPlayers) : [];
19
- while (mandatoryIds.some(function (id) { return !result.includes(id); })) {
20
- var mandatoryId = mandatoryIds.find(function (id) { return !result.includes(id); });
21
- var potentialIndexes = result.map(function (id, index) { return ({ id: id, index: index }); }).filter(function (r) { return !mandatoryIds.includes(r.id); }).map(function (r) { return r.index; });
22
- var index = potentialIndexes[Math.floor(Math.random() * potentialIndexes.length)];
23
- result[index] = mandatoryId;
24
- }
25
- var potentialIds = (optionsSpec && (0, isWithPlayerIdOptions_1.isWithPlayerIdOptions)(optionsSpec) ? (0, PlayerIdSpec_1.getAvailableIds)(optionsSpec.players.id, numberOfPlayers)
26
- : Array.from(Array(numberOfPlayers).keys()).map(function (id) { return id + 1; }));
27
- var remainingIds = potentialIds.filter(function (id) { return !result.includes(id); });
28
- for (var i = 0; i < result.length; i++) {
29
- if (result[i] === null || !potentialIds.includes(result[i])) {
30
- result[i] = remainingIds.splice(Math.floor(Math.random() * remainingIds.length), 1)[0];
31
- }
32
- }
33
- return result;
34
- }
35
- exports.providePlayerIds = providePlayerIds;
36
- //# sourceMappingURL=providePlayerIds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providePlayerIds.js","sourceRoot":"","sources":["../../src/options/providePlayerIds.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAA+D;AAE/D,+CAAiE;AASjE,SAAgB,gBAAgB,CAAc,OAA+B,EAAE,WAA8B;IAC3G,IAAM,MAAM,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAK,OAAO,OAAC,CAAA;IAErF,IAAM,eAAe,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAA;IAE9E,IAAM,YAAY,GAAG,WAAW,IAAI,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAA,8BAAe,EAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtI,OAAO,YAAY,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAC,EAAE;QACpD,IAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAE,CAAA;QAClE,IAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,EAAE,EAAE,KAAK,IAAK,OAAA,CAAC,EAAC,EAAE,IAAA,EAAE,KAAK,OAAA,EAAC,CAAC,EAAb,CAAa,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAA5B,CAA4B,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAA;QAC7H,IAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;QACnF,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAA;KAC5B;IAED,IAAM,YAAY,GAAG,CAAC,WAAW,IAAI,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAA,8BAAe,EAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC;QAChI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,GAAG,CAAC,EAAN,CAAM,CAAC,CAAS,CAAA;IACxE,IAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAC,CAAA;IACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3D,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACvF;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAvBD,4CAuBC"}