@jantstack/adonis-authz 1.1.0 → 2.4.0-alpha.1

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 (236) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +837 -51
  3. package/build/commands/authz_catalog_diff.d.ts +28 -0
  4. package/build/commands/authz_catalog_diff.d.ts.map +1 -0
  5. package/build/commands/authz_catalog_diff.js +67 -0
  6. package/build/commands/authz_catalog_diff.js.map +1 -0
  7. package/build/commands/authz_catalog_prune_orphans.d.ts +78 -0
  8. package/build/commands/authz_catalog_prune_orphans.d.ts.map +1 -0
  9. package/build/commands/authz_catalog_prune_orphans.js +136 -0
  10. package/build/commands/authz_catalog_prune_orphans.js.map +1 -0
  11. package/build/commands/authz_catalog_sync.d.ts +37 -0
  12. package/build/commands/authz_catalog_sync.d.ts.map +1 -0
  13. package/build/commands/authz_catalog_sync.js +81 -0
  14. package/build/commands/authz_catalog_sync.js.map +1 -0
  15. package/build/commands/authz_freeze.d.ts +44 -0
  16. package/build/commands/authz_freeze.d.ts.map +1 -0
  17. package/build/commands/authz_freeze.js +95 -0
  18. package/build/commands/authz_freeze.js.map +1 -0
  19. package/build/commands/authz_reconcile.d.ts +102 -0
  20. package/build/commands/authz_reconcile.d.ts.map +1 -0
  21. package/build/commands/authz_reconcile.js +294 -0
  22. package/build/commands/authz_reconcile.js.map +1 -0
  23. package/build/commands/authz_relations_reconcile.d.ts +73 -0
  24. package/build/commands/authz_relations_reconcile.d.ts.map +1 -0
  25. package/build/commands/authz_relations_reconcile.js +225 -0
  26. package/build/commands/authz_relations_reconcile.js.map +1 -0
  27. package/build/commands/authz_scopes_relay.d.ts +47 -0
  28. package/build/commands/authz_scopes_relay.d.ts.map +1 -0
  29. package/build/commands/authz_scopes_relay.js +141 -0
  30. package/build/commands/authz_scopes_relay.js.map +1 -0
  31. package/build/commands/authz_unfreeze.d.ts +37 -0
  32. package/build/commands/authz_unfreeze.d.ts.map +1 -0
  33. package/build/commands/authz_unfreeze.js +92 -0
  34. package/build/commands/authz_unfreeze.js.map +1 -0
  35. package/build/commands/main.d.ts +8 -1
  36. package/build/commands/main.d.ts.map +1 -1
  37. package/build/commands/main.js +8 -1
  38. package/build/commands/main.js.map +1 -1
  39. package/build/commands/openfga_provision.d.ts +46 -4
  40. package/build/commands/openfga_provision.d.ts.map +1 -1
  41. package/build/commands/openfga_provision.js +91 -7
  42. package/build/commands/openfga_provision.js.map +1 -1
  43. package/build/configure.d.ts +11 -0
  44. package/build/configure.d.ts.map +1 -1
  45. package/build/configure.js +37 -1
  46. package/build/configure.js.map +1 -1
  47. package/build/index.d.ts +75 -7
  48. package/build/index.d.ts.map +1 -1
  49. package/build/index.js +67 -5
  50. package/build/index.js.map +1 -1
  51. package/build/providers/authz_provider.d.ts +26 -2
  52. package/build/providers/authz_provider.d.ts.map +1 -1
  53. package/build/providers/authz_provider.js +48 -2
  54. package/build/providers/authz_provider.js.map +1 -1
  55. package/build/services/relations.d.ts +14 -0
  56. package/build/services/relations.d.ts.map +1 -0
  57. package/build/services/relations.js +17 -0
  58. package/build/services/relations.js.map +1 -0
  59. package/build/src/catalog/catalog.d.ts +289 -0
  60. package/build/src/catalog/catalog.d.ts.map +1 -0
  61. package/build/src/catalog/catalog.js +859 -0
  62. package/build/src/catalog/catalog.js.map +1 -0
  63. package/build/src/catalog/catalog_cache.d.ts +324 -0
  64. package/build/src/catalog/catalog_cache.d.ts.map +1 -0
  65. package/build/src/catalog/catalog_cache.js +666 -0
  66. package/build/src/catalog/catalog_cache.js.map +1 -0
  67. package/build/src/clock.d.ts +24 -0
  68. package/build/src/clock.d.ts.map +1 -0
  69. package/build/src/clock.js +7 -0
  70. package/build/src/clock.js.map +1 -0
  71. package/build/src/define_config.d.ts +201 -7
  72. package/build/src/define_config.d.ts.map +1 -1
  73. package/build/src/define_config.js.map +1 -1
  74. package/build/src/drivers/database_driver.d.ts +324 -15
  75. package/build/src/drivers/database_driver.d.ts.map +1 -1
  76. package/build/src/drivers/database_driver.js +1107 -128
  77. package/build/src/drivers/database_driver.js.map +1 -1
  78. package/build/src/drivers/database_relations_driver.d.ts +75 -0
  79. package/build/src/drivers/database_relations_driver.d.ts.map +1 -0
  80. package/build/src/drivers/database_relations_driver.js +450 -0
  81. package/build/src/drivers/database_relations_driver.js.map +1 -0
  82. package/build/src/drivers/openfga_driver.d.ts +963 -55
  83. package/build/src/drivers/openfga_driver.d.ts.map +1 -1
  84. package/build/src/drivers/openfga_driver.js +2693 -372
  85. package/build/src/drivers/openfga_driver.js.map +1 -1
  86. package/build/src/drivers/openfga_facts.d.ts +369 -0
  87. package/build/src/drivers/openfga_facts.d.ts.map +1 -0
  88. package/build/src/drivers/openfga_facts.js +813 -0
  89. package/build/src/drivers/openfga_facts.js.map +1 -0
  90. package/build/src/drivers/openfga_relations_driver.d.ts +120 -0
  91. package/build/src/drivers/openfga_relations_driver.d.ts.map +1 -0
  92. package/build/src/drivers/openfga_relations_driver.js +466 -0
  93. package/build/src/drivers/openfga_relations_driver.js.map +1 -0
  94. package/build/src/errors.d.ts +586 -0
  95. package/build/src/errors.d.ts.map +1 -1
  96. package/build/src/errors.js +583 -0
  97. package/build/src/errors.js.map +1 -1
  98. package/build/src/expiry.d.ts +27 -0
  99. package/build/src/expiry.d.ts.map +1 -0
  100. package/build/src/expiry.js +50 -0
  101. package/build/src/expiry.js.map +1 -0
  102. package/build/src/freeze.d.ts +120 -0
  103. package/build/src/freeze.d.ts.map +1 -0
  104. package/build/src/freeze.js +172 -0
  105. package/build/src/freeze.js.map +1 -0
  106. package/build/src/hierarchical_resolver.d.ts +56 -0
  107. package/build/src/hierarchical_resolver.d.ts.map +1 -0
  108. package/build/src/hierarchical_resolver.js +87 -0
  109. package/build/src/hierarchical_resolver.js.map +1 -0
  110. package/build/src/{middleware → http}/app_access_middleware.d.ts +8 -6
  111. package/build/src/http/app_access_middleware.d.ts.map +1 -0
  112. package/build/src/{middleware → http}/app_access_middleware.js +10 -26
  113. package/build/src/http/app_access_middleware.js.map +1 -0
  114. package/build/src/http/resource_access_middleware.d.ts +105 -0
  115. package/build/src/http/resource_access_middleware.d.ts.map +1 -0
  116. package/build/src/http/resource_access_middleware.js +81 -0
  117. package/build/src/http/resource_access_middleware.js.map +1 -0
  118. package/build/src/identity.d.ts +228 -0
  119. package/build/src/identity.d.ts.map +1 -0
  120. package/build/src/identity.js +457 -0
  121. package/build/src/identity.js.map +1 -0
  122. package/build/src/manager.d.ts +536 -7
  123. package/build/src/manager.d.ts.map +1 -1
  124. package/build/src/manager.js +2676 -23
  125. package/build/src/manager.js.map +1 -1
  126. package/build/src/memoize_ancestors.d.ts +23 -0
  127. package/build/src/memoize_ancestors.d.ts.map +1 -0
  128. package/build/src/memoize_ancestors.js +42 -0
  129. package/build/src/memoize_ancestors.js.map +1 -0
  130. package/build/src/models/authz_assignment.d.ts +11 -11
  131. package/build/src/models/authz_assignment.d.ts.map +1 -1
  132. package/build/src/models/authz_deny.d.ts +11 -11
  133. package/build/src/models/authz_deny.d.ts.map +1 -1
  134. package/build/src/models/authz_permission.d.ts +17 -11
  135. package/build/src/models/authz_permission.d.ts.map +1 -1
  136. package/build/src/models/authz_permission.js +4 -0
  137. package/build/src/models/authz_permission.js.map +1 -1
  138. package/build/src/models/authz_role.d.ts +19 -12
  139. package/build/src/models/authz_role.d.ts.map +1 -1
  140. package/build/src/models/authz_role.js +6 -1
  141. package/build/src/models/authz_role.js.map +1 -1
  142. package/build/src/models/authz_role_permission.d.ts +11 -11
  143. package/build/src/models/authz_role_permission.d.ts.map +1 -1
  144. package/build/src/openfga.d.ts +29 -0
  145. package/build/src/openfga.d.ts.map +1 -0
  146. package/build/src/openfga.js +26 -0
  147. package/build/src/openfga.js.map +1 -0
  148. package/build/src/reconcile.d.ts +37 -0
  149. package/build/src/reconcile.d.ts.map +1 -0
  150. package/build/src/reconcile.js +69 -0
  151. package/build/src/reconcile.js.map +1 -0
  152. package/build/src/relation_partition_trigger.d.ts +8 -0
  153. package/build/src/relation_partition_trigger.d.ts.map +1 -0
  154. package/build/src/relation_partition_trigger.js +85 -0
  155. package/build/src/relation_partition_trigger.js.map +1 -0
  156. package/build/src/relations/define_relations_config.d.ts +58 -0
  157. package/build/src/relations/define_relations_config.d.ts.map +1 -0
  158. package/build/src/relations/define_relations_config.js +144 -0
  159. package/build/src/relations/define_relations_config.js.map +1 -0
  160. package/build/src/relations/manager.d.ts +38 -0
  161. package/build/src/relations/manager.d.ts.map +1 -0
  162. package/build/src/relations/manager.js +156 -0
  163. package/build/src/relations/manager.js.map +1 -0
  164. package/build/src/relations/reconcile.d.ts +62 -0
  165. package/build/src/relations/reconcile.d.ts.map +1 -0
  166. package/build/src/relations/reconcile.js +138 -0
  167. package/build/src/relations/reconcile.js.map +1 -0
  168. package/build/src/relations_config_store.d.ts +22 -0
  169. package/build/src/relations_config_store.d.ts.map +1 -0
  170. package/build/src/relations_config_store.js +74 -0
  171. package/build/src/relations_config_store.js.map +1 -0
  172. package/build/src/scope_outbox.d.ts +69 -0
  173. package/build/src/scope_outbox.d.ts.map +1 -0
  174. package/build/src/scope_outbox.js +291 -0
  175. package/build/src/scope_outbox.js.map +1 -0
  176. package/build/src/shared/backend_guard.d.ts +106 -0
  177. package/build/src/shared/backend_guard.d.ts.map +1 -0
  178. package/build/src/shared/backend_guard.js +246 -0
  179. package/build/src/shared/backend_guard.js.map +1 -0
  180. package/build/src/shared/sql_expiry.d.ts +53 -0
  181. package/build/src/shared/sql_expiry.d.ts.map +1 -0
  182. package/build/src/shared/sql_expiry.js +66 -0
  183. package/build/src/shared/sql_expiry.js.map +1 -0
  184. package/build/src/sql_descendants.d.ts +97 -0
  185. package/build/src/sql_descendants.d.ts.map +1 -0
  186. package/build/src/sql_descendants.js +203 -0
  187. package/build/src/sql_descendants.js.map +1 -0
  188. package/build/src/testing/contract.d.ts +212 -7
  189. package/build/src/testing/contract.d.ts.map +1 -1
  190. package/build/src/testing/contract.js +3449 -24
  191. package/build/src/testing/contract.js.map +1 -1
  192. package/build/src/testing/main.d.ts +10 -2
  193. package/build/src/testing/main.d.ts.map +1 -1
  194. package/build/src/testing/main.js +5 -1
  195. package/build/src/testing/main.js.map +1 -1
  196. package/build/src/testing/migration_contract.d.ts +284 -0
  197. package/build/src/testing/migration_contract.d.ts.map +1 -0
  198. package/build/src/testing/migration_contract.js +586 -0
  199. package/build/src/testing/migration_contract.js.map +1 -0
  200. package/build/src/testing/relations_contract.d.ts +51 -0
  201. package/build/src/testing/relations_contract.d.ts.map +1 -0
  202. package/build/src/testing/relations_contract.js +654 -0
  203. package/build/src/testing/relations_contract.js.map +1 -0
  204. package/build/src/testing/relations_reconcile_contract.d.ts +24 -0
  205. package/build/src/testing/relations_reconcile_contract.d.ts.map +1 -0
  206. package/build/src/testing/relations_reconcile_contract.js +172 -0
  207. package/build/src/testing/relations_reconcile_contract.js.map +1 -0
  208. package/build/src/testing/scope_tree.d.ts +65 -0
  209. package/build/src/testing/scope_tree.d.ts.map +1 -0
  210. package/build/src/testing/scope_tree.js +145 -0
  211. package/build/src/testing/scope_tree.js.map +1 -0
  212. package/build/src/traits/authz_scopes.d.ts +30 -6
  213. package/build/src/traits/authz_scopes.d.ts.map +1 -1
  214. package/build/src/traits/authz_scopes.js +30 -18
  215. package/build/src/traits/authz_scopes.js.map +1 -1
  216. package/build/src/traits/has_uuid.d.ts +12 -12
  217. package/build/src/traits/has_uuid.d.ts.map +1 -1
  218. package/build/src/types.d.ts +1313 -28
  219. package/build/src/types.d.ts.map +1 -1
  220. package/build/src/types.js +20 -4
  221. package/build/src/types.js.map +1 -1
  222. package/build/stubs/config/app_acl.stub +4 -2
  223. package/build/stubs/config/authorization.stub +168 -14
  224. package/build/stubs/migration.stub +183 -13
  225. package/build/stubs/scopes_outbox_migration.stub +57 -0
  226. package/package.json +14 -7
  227. package/build/commands/openfga_import.d.ts +0 -28
  228. package/build/commands/openfga_import.d.ts.map +0 -1
  229. package/build/commands/openfga_import.js +0 -74
  230. package/build/commands/openfga_import.js.map +0 -1
  231. package/build/src/catalog.d.ts +0 -3
  232. package/build/src/catalog.d.ts.map +0 -1
  233. package/build/src/catalog.js +0 -103
  234. package/build/src/catalog.js.map +0 -1
  235. package/build/src/middleware/app_access_middleware.d.ts.map +0 -1
  236. package/build/src/middleware/app_access_middleware.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"openfga_driver.js","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openfga_driver.js","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAC5C,OAAO,EACL,aAAa,EACb,mCAAmC,EACnC,kCAAkC,EAClC,qBAAqB,GACtB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,wBAAwB,EACxB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAyBrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,IAAI,WAAW,EACnC,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,IAAI,SAAS,GAChC,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,QAAQ,GACT,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAE5I,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AA0ClD;;;;GAIG;AACH,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B,uEAAuE;AACvE,4EAA4E;AAC5E,mEAAmE;AACnE,0EAA0E;AAC1E,iCAAiC;AAEjC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,KAAe,CAAA;IACnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAC5D,KAAK,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC9C,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAClD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,6DAA6D;AAC7D,SAAS,cAAc,CAAC,OAAmB,EAAE,WAA0B;IACrE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,wEAAwE;QACxE,MAAM,IAAI,wBAAwB,CAChC,gBAAgB,OAAO,CAAC,IAAI,6BAA6B;YACvD,gBAAgB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK;YACrE,0DAA0D,CAC7D,CAAA;IACH,CAAC;IACD,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;AACrC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,GAAS;IAC7B,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAA;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA8B,EAC9B,OAAyC;IAEzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0C,CAAA;IAC9D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,CAAA;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,0BAA0B,CAClC,qEAAqE,EAAE,GAAG,CAC3E,CAAA;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACtB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAc,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,0BAA0B,CAClC,2DAA2D,KAAK,CAAC,aAAa,MAAM,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CACtH,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IACF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;QAC7D,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACnE,MAAM,IAAI,0BAA0B,CAClC,gEAAgE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,IAAY,EACZ,aAA4B,EAC5B,WAA8B,EAC9B,SAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;IAC5G,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAG,EAAE,OAAO,EAAE,KAAK,CAAC,sBAAuB,EAAE,CAAA;AACvE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,OAAO,GAAQ,KAAK,CAAA;IACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,OAAO,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,UAAU,KAAK,GAAG;YAAE,OAAO,IAAI,CAAA;QAC3C,IACE,OAAO,CAAC,YAAY,KAAK,mCAAmC;YAC5D,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAChF,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;IACzB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,OAAO,GAAQ,KAAK,CAAA;IACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,OAAO,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,IACE,OAAO,CAAC,YAAY,KAAK,mCAAmC;YAC5D,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAChF,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;IACzB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAkB,KAAQ;IACnD,KAAK,CAAC,OAAO;QACX,wFAAwF;YACxF,wGAAwG,CAAA;IAC1G,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,kBAAkB,CAAC,MAAqB,EAAE,SAAiB;IAClE,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACjD,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAA;YAC7C,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC9B,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAC9B,aAAa,CAAC,KAAK,CAAC;oBAClB,CAAC,CAAC,IAAI,gCAAgC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;oBAC9E,CAAC,CAAC,IAAI,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;gBAChE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAI,KAAsC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBAC1E,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;wBAAE,OAAO,MAAM,CAAA;oBAC/C,gEAAgE;oBAChE,mEAAmE;oBACnE,iEAAiE;oBACjE,6CAA6C;oBAC7C,OAAO,YAAY,CACjB,MAAM,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;wBAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;oBACnB,CAAC,CAAC,EACF,SAAS,EACT,GAAG,EAAE,CAAC,IAAI,gCAAgC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAC5E,CAAA;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;gBACnB,CAAC;YACH,CAAC,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAqFD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAiE;IAEjE,IAAI,OAAO,CAAC,MAAM;QAAE,OAAM;IAC1B,IAAI,OAAO,CAAC,oBAAoB,KAAK,IAAI;QAAE,OAAM;IACjD,MAAM,IAAI,wBAAwB,CAChC,yEAAyE;QACvE,qGAAqG;QACrG,iGAAiG;QACjG,6FAA6F;QAC7F,0EAA0E,CAC7E,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAA;AACvC;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG;IAC9B,QAAQ,EAAE,EAAE,iBAAiB,EAAE,mCAAmC,CAAC,MAAM,EAAE;CAC5E,CAAA;AACD;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAC9B,sFAAsF;AACtF,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAC7B,oGAAoG;AACpG,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAC5B,wDAAwD;AACxD,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,cAAc,CAAA;AAC/C,MAAM,sBAAsB,GAAG,QAAQ,CAAA;AACvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AACpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAA;AACzC,MAAM,OAAO,0BAA0B;IACrC;;;;;;;;;;;OAWG;IACH,IAAI,YAAY;QACd,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,cAAc,EAAE,IAAI;YACpB,oBAAoB,EAAE,IAAI;YAC1B,qBAAqB,EAAE,KAAK;YAC5B,oBAAoB,EAAE,KAAK;YAC3B,kEAAkE;YAClE,+DAA+D;YAC/D,2CAA2C;YAC3C,SAAS,EAAE,IAAI;YACf,oBAAoB,EAAE,IAAI;YAC1B,oEAAoE;YACpE,wEAAwE;YACxE,kDAAkD;YAClD,mBAAmB,EAAE,KAAK;YAC1B,qEAAqE;YACrE,gEAAgE;YAChE,cAAc,EAAE,IAAI;SACrB,CAAC,CAAA;IACJ,CAAC;IAEO,MAAM,CAAe;IACrB,aAAa,CAAoB;IACjC,WAAW,CAAe;IAElC;;;;;OAKG;IACM,WAAW,GAAG,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAA;IACzC,MAAM,CAAiC;IACvC,SAAS,CAAQ;IACjB,WAAW,CAAuB;IAC1C,oFAAoF;IAC5E,GAAG,CAAO;IAClB;;;;;;;OAOG;IACM,OAAO,CAAc;IAE9B,YAAY,OAA6B;QACvC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACtC,oBAAoB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAA;QAC3D,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,wBAAwB,CAChC,4EAA4E,OAAO,OAAO,CAAC,GAAG,GAAG,CAClG,CAAA;QACH,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,WAAW,CAAA;QACrC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAA;QACzD,IAAI,CAAC,OAAO;YACV,OAAO,CAAC,OAAO,IAAI,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAC9G,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAC9B,IAAI,aAAa,CAAC;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,oBAAoB,EAAE,OAAO,CAAC,OAAO;YACrC,sEAAsE;YACtE,uEAAuE;YACvE,WAAW,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;YACnC,wEAAwE;YACxE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE;SACrD,CAAC,EACF,SAAS,CACV,CAAA;QACD,0EAA0E;QAC1E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,gBAAgB,CAAA;QAC7D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QACtC,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,WAAW;YACd,OAAO,CAAC,WAAW,KAAK,kBAAkB;gBACxC,CAAC,CAAC,qBAAqB,CAAC,eAAe;gBACvC,CAAC,CAAC,qBAAqB,CAAC,iBAAiB,CAAA;IAC/C,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,KAAe,EAAE,SAAiB;QAC9C,OAAO,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAC3D,CAAC;IAED,gFAAgF;IACxE,UAAU,CAAC,KAAe,EAAE,SAAiB;QACnD,OAAO,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;IAED,oFAAoF;IAC5E,eAAe,CAAC,KAAe,EAAE,SAAiB;QACxD,OAAO,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAC7D,CAAC;IAED,gHAAgH;IACxG,gBAAgB,CAAC,KAAe,EAAE,SAAiB;QACzD,OAAO,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,YAAgC;QAChD,MAAM,IAAI,GAAS,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAA;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,GAAU;QAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,wBAAwB,CAAC,yDAAyD,OAAO,GAAG,GAAG,CAAC,CAAA;QAC5G,CAAC;QACD,MAAM,IAAI,GAAS,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACK,YAAY;QAClB,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;;;OAIG;IACK,GAAG,CAAI,SAAiB,EAAE,EAAoB;QACpD,OAAO,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAEO,UAAU,CAAC,OAAmB;QACpC,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IAClD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CACzB,MAA0D;QAE1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAClC,MAAM,OAAO,GAA2B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACpE,GAAG,KAAK;YACR,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC;SAC7B,CAAC,CAAC,CAAA;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAC3C,EAAE,MAAM,EAAE,OAAO,EAAE,EACnB,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAClC,CAAA;QACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC/D,4DAA4D;QAC5D,kEAAkE;QAClE,uEAAuE;QACvE,sDAAsD;QACtD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,yBAAyB,CACjC,SAAS,EACT,eAAe,MAAM,CAAC,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,EACpE,MAAM,CAAC,KAAK,CACb,CAAA;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,0EAA0E;IAC1E,qEAAqE;IACrE,sEAAsE;IACtE,wCAAwC;IAEhC,KAAK,CAAC,cAAc,CAAC,IAAY;QACvC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IAED;;;;;;;;;OASG;IACK,YAAY,CAClB,OAAoB,EACpB,OAA0C,EAC1C,SAA4B;QAE5B,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC7E,CAAC;IAED,yEAAyE;IAEzE,KAAK,CAAC,SAAS,CAAC,OAAmB,EAAE,UAAkB,EAAE,KAAe;QACtE,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAEvB,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,2BAA2B;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IACzE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACK,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,UAAkB,EAAE,KAAe;QAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACtC;YACE,IAAI;YACJ,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,GAAG;YAC1C,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;SAC7B,EACD,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAClC,CAAA;QACD,OAAO,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAA;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,OAAmB,EAAE,UAAkB,EAAE,MAAkB;QAC7E,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;QACvC,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACrD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;QAEzC,uEAAuE;QACvE,uEAAuE;QACvE,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAC9E,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,kBAAkB,CAC9B,IAAY,EACZ,UAAkB,EAClB,MAAkB;QAElB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAA;QACjD,8DAA8D;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACnC,MAAM,KAAK,GAAuD,EAAE,CAAA;QACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC1B,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;gBACnB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;gBACrE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAC3B,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,KAAK,CACT,OAAmB,EACnB,IAAe,EACf,KAAe,EACf,UAAwB,EAAE;QAE1B,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,4EAA4E;QAC5E,kCAAkC;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACnD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;QACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjF,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAA;QAE9B,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC9B,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,gBAAgB,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE;SACvD,CAAA;QACD,iEAAiE;QACjE,gEAAgE;QAChE,4DAA4D;QAC5D,kEAAkE;QAClE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,mEAAmE;QACnE,sEAAsE;QACtE,uEAAuE;QACvE,yEAAyE;QACzE,WAAW;QACX,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;QAChE,iEAAiE;QACjE,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,CAAC,SAAsB,EAAE,EAAE,CAC1C,SAAS;YACP,CAAC,CAAC;gBACE,GAAG,GAAG;gBACN,SAAS,EAAE;oBACT,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE;iBAClD;aACF;YACH,CAAC,CAAC,GAAG,CAAA;QAET,2EAA2E;QAC3E,yEAAyE;QACzE,iDAAiD;QACjD,EAAE;QACF,2EAA2E;QAC3E,oEAAoE;QACpE,2EAA2E;QAC3E,iEAAiE;QACjE,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAE9C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,sEAAsE;YACtE,sEAAsE;YACtE,oEAAoE;YACpE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;gBAAE,MAAM,kBAAkB,CAAC,OAAO,CAAC,KAAc,CAAC,CAAA;YACrF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;YACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;YAC/E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;QAC/B,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YACvF,IAAI,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,CAAA;YAC5E,CAAC;YACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;YACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,CAAA;QAC5E,CAAC;QAED,0EAA0E;QAC1E,kEAAkE;QAClE,qBAAqB;QACrB,EAAE;QACF,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,gBAAgB;QAChB,wEAAwE;QACxE,0EAA0E;QAC1E,qEAAqE;QACrE,wEAAwE;QACxE,oEAAoE;QACpE,kDAAkD;QAClD,EAAE;QACF,sEAAsE;QACtE,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,iEAAiE;QACjE,EAAE;QACF,sEAAsE;QACtE,sEAAsE;QACtE,yEAAyE;QACzE,0DAA0D;QAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAA;QAC3C,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CACpD,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAA;gBACzC,IAAI,OAAO,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,IAAI,kBAAkB,CAC1B,UAAU,oBAAoB,gDAAgD;wBAC5E,GAAG,GAAG,CAAC,MAAM,2BAA2B,EAC1C,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;gBACH,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;gBAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;oBAClF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;wBAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAA;oBAChE,CAAC;oBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;gBAClF,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC7B,4DAA4D;oBAC5D,kDAAkD;oBAClD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;wBAAE,MAAM,kBAAkB,CAAC,KAAK,CAAC,KAAc,CAAC,CAAA;oBACnF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;oBACvF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAA;gBAClD,CAAC;gBACD,iEAAiE;gBACjE,oEAAoE;gBACpE,wCAAwC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,eAAe,CAC3B,GAAuD,EACvD,KAAU,EACV,YAA0B,EAAE;QAE5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;YACzC,qEAAqE;YACrE,uEAAuE;YACvE,2BAA2B;YAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;YAC5F,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YACnD,OAAO,OAAO,CAAA;QAChB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,iBAAiB,CAC7B,GAAuD,EACvD,KAAU,EACV,YAA0B,EAAE;QAE5B,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE;YACpC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,kCAAkC,CAAC,MAAM,EAAE;SAC1E,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAA;IAC/E,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,cAAc,CAAC,GAI5B;QAKC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;YAC/E,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;YAClC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;YACrC,MAAM,UAAU,GAAI,KAAK,CAAC,GAAW,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAA;YACtE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,CAAA;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAmB,EAAE,IAAe,EAAE,KAAe;QAChE,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACxC,yEAAyE;QACzE,oEAAoE;QACpE,mEAAmE;QACnE,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACnE,uEAAuE;QACvE,gEAAgE;QAChE,0EAA0E;QAC1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACzB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACzG,EACD,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,kCAAkC,CAAC,MAAM,EAAE,EAAE,CAC9E,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAmB,EAAE,IAAe,EAAE,KAAe;QACjE,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACxB,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,mEAAmE;QACnE,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACpD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACtC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI;YACJ,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,gBAAgB,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;YACjD,OAAO;SACR,CAAC,CAAC,CACJ,CAAA;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAmB,EAAE,UAAkB,EAAE,KAAe;QACjE,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACrD,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,EAAE;YAC3E,QAAQ,EAAE,EAAE,iBAAiB,EAAE,mCAAmC,CAAC,MAAM,EAAE;SAC5E,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAmB,EAAE,UAAkB,EAAE,KAAe;QACvE,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvD,yEAAyE;QACzE,yDAAyD;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QAChE,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,EACpE,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,kCAAkC,CAAC,MAAM,EAAE,EAAE,CAC9E,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,SAAS,CACf,OAAmB,EACnB,UAAkB,EAClB,MAAgB;QAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACrC,OAAO,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,IAAe,EAAE,KAAe;QACjD,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/B,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,8CAA8C;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpJ,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACrD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/E,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAA;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CACrE,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YACtC,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,gBAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE;SAC9D,CAAC,CAAA;QACF,MAAM,OAAO,GAAiB,EAAE,CAAA;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,wEAAwE;YACxE,gDAAgD;YAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACzC,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACnE,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACjE,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;YACjC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,CAAA;gBACzC,IAAI,CAAC,IAAI,CACP,4BAA4B,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,oEAAoE,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CACvK,CAAA;gBACD,SAAQ;YACV,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CAAC,OAAmB,EAAE,EAAS;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CACrC;YACE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC9B,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,eAAe;SACxB,EACD,EAAE,EAAE,EAAE,CACP,CAAA;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,2FAA2F;IACnF,KAAK,CAAC,eAAe,CAAC,OAAmB,EAAE,cAAsB,EAAE,EAAS;QAClF,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,sCAAsC;QACtC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;QACvE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,GAAG,EAAU,CAAA;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CACrC;YACE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC9B,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM;YACvC,MAAM,EAAE,GAAG,gBAAgB,GAAG;SAC/B,EACD,EAAE,EAAE,EAAE,CACP,CAAA;QACD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,WAAW,CACvB,OAAmB,EACnB,OAAoB,EACpB,EAAS;QAET,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAA;QACtD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC3C,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CACrC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,gBAAgB,GAAG,EAAE,EAClE,EAAE,EAAE,EAAE,CACP,CAAA;QACD,MAAM,MAAM,GAAmD,EAAE,CAAA;QACjE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC;gBAAE,SAAQ;YAC7D,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC3D,IAAI,CAAC,UAAU;gBAAE,SAAQ;YACzB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,CAAA;gBACzC,IAAI,CAAC,IAAI,CACP,8BAA8B,KAAK,CAAC,MAAM,6FAA6F,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAC/K,CAAA;gBACD,SAAQ;YACV,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,aAAa,CACnB,IAAoB,EACpB,OAAiB;QAEjB,MAAM,MAAM,GAA6C,EAAE,CAAA;QAC3D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YACnD,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,CAAA;YAClC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,CAAA;gBACzC,IAAI,CAAC,IAAI,CAAC,4BAA4B,IAAI,IAAI,EAAE,sEAAsE,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAAC,CAAA;YAChK,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,IAAI,CAAC,OAAe;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAmB,EAAE,KAAe;QAClD,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAClC,sEAAsE;QACtE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,KAAK,MAAM,OAAO,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM;gBAAE,SAAQ;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;YAC1D,IAAI,QAAQ;gBAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,OAAmB,EAAE,KAAiB;QACvD,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAC3B,KAAK,MAAM,KAAK,IAAI,KAAK;YAAE,WAAW,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC3F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,MAAM,MAAM,GAAqD,EAAE,CAAA;QACnE,KAAK,MAAM,OAAO,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC5B,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAChE,IAAI,CAAC,QAAQ;gBAAE,SAAQ;YACvB,uDAAuD;YACvD,MAAM,MAAM,GAAG,GAAG,EAAE,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAQ;YAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAmB,EAAE,SAAoB;QAC5D,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmF,CAAA;QAC1G,KAAK,MAAM,OAAO,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAQ;YAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;YAC3E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,CAAC;QACD,uEAAuE;QACvE,oEAAoE;QACpE,oEAAoE;QACpE,MAAM,KAAK,GAAe,EAAE,CAAA;QAC5B,KAAK,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;YACvD,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClF,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAmB,EAAE,UAAkB;QACtD,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAA;QAEpB,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEjD,uEAAuE;QACvE,mEAAmE;QACnE,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAErE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC1C,KAAK,MAAM,OAAO,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;YAC1F,IAAI,CAAC,IAAI;gBAAE,SAAQ;YAEnB,uEAAuE;YACvE,gEAAgE;YAChE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YAC3D,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAQ;YAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9D,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAClE,CAAC;QACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,OAAmB,EAAE,KAAgB;QACpD,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClE,IAAI,KAAK,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACpD,MAAM,MAAM,GAAc,EAAE,CAAA;QAC5B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM;oBAAE,SAAQ;YAC/C,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBACzD,SAAQ;YACV,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,0EAA0E;IAE1E;;;;;;;OAOG;IACK,eAAe,CAAC,MAAc,EAAE,OAAgC;QACtE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;YAAE,OAAM;QAC/B,MAAM,IAAI,mBAAmB,CAC3B,4BAA4B,OAAO,CAAC,MAAM,gBAAgB,MAAM,GAAG;YACjE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC;YAC3E,+DAA+D,CAClE,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,KAAe,EAAE,MAAgB;QACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACvD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAAC,KAAe,EAAE,SAAmB;QACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;IACvD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,KAAK,CAAC,UAAU,CACtB,KAAe,EACf,MAAgB,EAChB,SAAiB;QAEjB,WAAW,CAAC,KAAK,CAAC,CAAA;QAClB,WAAW,CAAC,MAAM,CAAC,CAAA;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,IAAI,oBAAoB,CAAC,GAAG,SAAS,2CAA2C,CAAC,CAAA;QACzF,CAAC;QACD,wDAAwD;QACxD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC5D,gEAAgE;QAChE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC7D,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,eAAe,CACvB,GAAG,SAAS,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,iBAAiB,QAAQ,oBAAoB;gBAC5F,oFAAoF;gBACpF,yCAAyC,CAC5C,CAAA;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,eAAe,CAAC,KAAe;QACnC,WAAW,CAAC,KAAK,CAAC,CAAA;QAClB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,IAAI,oBAAoB,CAAC,6DAA6D,CAAC,CAAA;QAC/F,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;QAClE,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACtC,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAC3C,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;QACD,0EAA0E;QAC1E,uEAAuE;QACvE,qCAAqC;QACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAChC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,KAAK,CAAC,QAAQ,CAAC,KAAe,EAAE,MAAgB,EAAE,SAAiB;QACzE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAC/E,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACpD,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACtC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAC1D,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;YACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5D,+DAA+D;gBAC/D,iEAAiE;gBACjE,iEAAiE;gBACjE,oEAAoE;gBACpE,iEAAiE;gBACjE,8DAA8D;gBAC9D,sEAAsE;gBACtE,kEAAkE;gBAClE,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;gBAC3C,OAAM;YACR,CAAC;YACD,kEAAkE;YAClE,kEAAkE;YAClE,uEAAuE;YACvE,wEAAwE;YACxE,mEAAmE;YACnE,8DAA8D;YAC9D,oEAAoE;YACpE,qEAAqE;YACrE,mEAAmE;YACnE,8CAA8C;YAC9C,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,eAAe,CACvB,GAAG,SAAS,2BAA2B,gBAAgB,CAAC,SAAS,CAAC,iBAAiB,QAAQ,GAAG;oBAC5F,uFAAuF;oBACvF,0FAA0F;oBAC1F,qEAAqE,CACxE,CAAA;YACH,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAA;gBACxC,IAAI,OAAO,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,kBAAkB,CAC1B,GAAG,SAAS,KAAK,mBAAmB,0DAA0D;wBAC5F,GAAG,MAAM,CAAC,MAAM,uFAAuF,EACzG,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;gBACH,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACK,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE/B,oEAAoE;QACpE,uEAAuE;QACvE,wEAAwE;QACxE,kCAAkC;QAClC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACpD,6EAA6E;QAC7E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAmB,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;QACrE,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAG,CAAA;YAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CACvC,EAAE,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,gBAAgB,GAAG,EAAE,EAChG,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;YACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,SAAQ;gBACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC,CAAA;gBACvD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAiB,EAAE,CAAA;QAChC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,gFAAgF;YAChF,yEAAyE;YACzE,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CACvC,EAAE,IAAI,EAAE,GAAG,eAAe,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,kBAAkB,GAAG,EAAE,EAC5G,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;YACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;gBACtD,IAAI,CAAC,SAAS;oBAAE,SAAQ;gBACxB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,yEAAyE;QACzE,6DAA6D;QAC7D,yCAAyC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CACvC,EAAE,IAAI,EAAE,GAAG,eAAe,IAAI,QAAQ,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,kBAAkB,GAAG,EAAE,EAC3G,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAiB,EAAE,CAAA;QAChC,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC1C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC5F,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,gEAAgE;gBAChE,8DAA8D;gBAC9D,SAAS,GAAG,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;gBAChF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YAC5B,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACK,mBAAmB,CACzB,OAAoB,EACpB,OAA0C,EAC1C,SAA4B,EAC5B,MAAoB,EACpB,OAAqB;QAErB,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1E,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;YACtF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,iBAAiB,CAAC,MAAoB,EAAE,OAAqB;QACzE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAM;QAE7C,MAAM,UAAU,GAAgB;YAC9B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SAC7C,CAAA;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAA;YACvD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACrB;gBACE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC;gBACzD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAO,CAAC;aAC7D,EACD;gBACE,QAAQ,EAAE;oBACR,iBAAiB,EAAE,mCAAmC,CAAC,MAAM;oBAC7D,gBAAgB,EAAE,kCAAkC,CAAC,MAAM;iBAC5D;aACF,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,UAAU,CAAC,GAAW;QAClC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,oBAAoB,EAAE,GAAG,EAAE,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACtC,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAC3C,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;YACD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YACtC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACpE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,eAAe,CACvB,wCAAwC,gBAAgB,CAAC,SAAS,CAAC,2BAA2B;oBAC5F,wEAAwE,CAC3E,CAAA;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvB,CAAC;QACD,MAAM,IAAI,0BAA0B,CAClC,8BAA8B,oBAAoB,kBAAkB,gBAAgB,CAAC,GAAG,CAAC,IAAI;YAC3F,kEAAkE,CACrE,CAAA;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CAAC,MAAgB;QAC/B,WAAW,CAAC,MAAM,CAAC,CAAA;QACnB,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,oBAAoB,CAAC,uCAAuC,CAAC,CAAA;QACzE,CAAC;QACD,2EAA2E;QAC3E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,EAAE,CACpD,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CACtE,CAAA;QACD,gEAAgE;QAChE,8DAA8D;QAC9D,0EAA0E;QAC1E,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAA;QACxF,0EAA0E;QAC1E,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3E,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACjG,CAAC,CAAA;QACD,oFAAoF;QACpF,MAAM,UAAU,GAAG,KAAK,EAAE,IAA+D,EAAE,EAAE;YAC3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACvD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE;oBAClE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,kCAAkC,CAAC,MAAM,EAAE;iBAC1E,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAA;QACD,6EAA6E;QAC7E,MAAM,WAAW,GAAG,CAAC,CAAuB,EAAE,EAAE,CAC9C,CAAC,CAAC,QAAQ,KAAK,sBAAsB,IAAI,CAAC,CAAC,QAAQ,KAAK,mBAAmB,CAAA;QAE7E,+DAA+D;QAC/D,mEAAmE;QACnE,qEAAqE;QACrE,wEAAwE;QACxE,gEAAgE;QAChE,cAAc;QACd,EAAE;QACF,yEAAyE;QACzE,qEAAqE;QACrE,4DAA4D;QAC5D,yEAAyE;QACzE,wDAAwD;QACxD,mDAAmD;QACnD,EAAE;QACF,oEAAoE;QACpE,kEAAkE;QAClE,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,2BAA2B;QAC3B,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,2CAA2C;QAC3C,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,KAAK,WAAW;gBAAE,SAAQ;YACpC,MAAM,UAAU,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5E,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,iEAAiE;QACjE,0EAA0E;QAC1E,0EAA0E;QAC1E,oEAAoE;QACpE,mEAAmE;QACnE,2BAA2B;QAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7E,MAAM,UAAU,CACd,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,sBAAsB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CACnE,CACF,CAAA;QACD,MAAM,UAAU,CACd,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CACzF,CAAA;QAED,4DAA4D;QAC5D,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;YACpC,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,CAC5B,cAAc,GAAG,qCAAqC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC1E,wDAAwD,CAC3D,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,iBAAiB;QACf,OAAO;YACL,iBAAiB,EAAE,CAAC,WAAW,EAAE,EAAE;gBACjC,2BAA2B,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7F,CAAC;YACD,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;SACrD,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACtC,EAAE,MAAM,EAAE,gBAAgB,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAC7E,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/D,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IAC/E,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,cAAc,CAAC,QAAmC;QAC9D,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAA;QACnD,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACxC,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,mEAAmE;QACnE,qEAAqE;QACrE,mEAAmE;QACnE,oEAAoE;QACpE,uEAAuE;QACvE,sEAAsE;QACtE,iEAAiE;QACjE,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAA;QACpD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,KAAK,MAAM,GAAG,IAAI,MAAM,IAAI,CAAC,aAAa,CACxC,EAAE,IAAI,EAAE,GAAG,UAAU,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,GAAG,EAAE,EAC1D,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,EAAE,CAAC;gBACF,6DAA6D;gBAC7D,sDAAsD;gBACtD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;oBAAE,SAAQ;gBAC5D,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACxF,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACzF,uEAAuE;QACvE,qDAAqD;QACrD,MAAM,UAAU,GAAqE;YACnF,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SAC7C,CAAA;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAA;YACvD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC;gBACzD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAO,CAAC;aAC7D,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IACpG,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE,CACrD,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAC9D,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAE1D,MAAM,UAAU,GAAG,GAAG,eAAe,IAAI,QAAQ,EAAE,CAAA;QACnD,qEAAqE;QACrE,MAAM,UAAU,GAAG,KAAK,IAAuB,EAAE;YAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CACpC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,kBAAkB,GAAG,EAAE,EACrF,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;YACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACvD,CAAC,CAAA;QACD,wFAAwF;QACxF,MAAM,OAAO,GAAG,CAAC,OAAe,EAAiB,EAAE;YACjD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACvD,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACrC,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACtD,CAAC,CAAA;QACD,6FAA6F;QAC7F,MAAM,SAAS,GAAG,KAAK,IAA2B,EAAE;YAClD,MAAM,IAAI,GAAiB,EAAE,CAAA;YAC7B,KAAK,MAAM,OAAO,IAAI,MAAM,UAAU,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBACvF,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC5B,IAAI,CAAC,GAAG;oBAAE,SAAQ;gBAClB,qEAAqE;gBACrE,oEAAoE;gBACpE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CACzC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAClF,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;YAC1B,CAAC;YACD,4EAA4E;YAC5E,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CACzG,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,SAAS,EAAE,CAAA;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACvD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE;gBAClE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,kCAAkC,CAAC,MAAM,EAAE;aAC1E,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,CAC5B,aAAa,QAAQ,YAAY,OAAO,CAAC,MAAM,0BAA0B;gBACvE,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAC1F,sDAAsD,CACzD,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,CAC/B,qBAAqB,CACnB,KAAK,EAAE,GAAG,EAAE,EAAE;gBACZ,kEAAkE;gBAClE,kEAAkE;gBAClE,oEAAoE;gBACpE,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAC3C,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CACpE,CAAA;gBACD,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACrC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CACzE,CAAA;gBACD,MAAM,OAAO,GAAY,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,EAAE,CACpE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CACzD,CAAA;gBACD,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YACvG,CAAC,EACD,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CACjD,CACF,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAC3B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAmB;QAC5C,KAAK,MAAM,IAAI,IAAI,SAAS;YAAE,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CACpC,EAAE,IAAI,EAAE,GAAG,eAAe,IAAI,QAAQ,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,kBAAkB,GAAG,EAAE,EAC3G,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,CAAA;YACD,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,KAAK,MAAM,OAAO,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAChE,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;YACpG,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QACvC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAClC,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACnE,MAAM,MAAM,GAAG,GAAG,eAAe,IAAI,QAAQ,EAAE,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAA;QACnD,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5F,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAA;QACpD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,KAAK,MAAM,GAAG,IAAI,MAAM,IAAI,CAAC,aAAa,CACxC,EAAE,IAAI,EAAE,GAAG,UAAU,IAAI,EAAE,MAAM,EAAE,EACnC,EAAE,cAAc,EAAE,IAAI,EAAE,CACzB,EAAE,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;oBAAE,SAAQ;gBAC5D,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACxF,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACzF,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAM;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,KAAK,CAAC,SAAS,CAAC,MAAuB,EAAE,UAA4B,EAAE;QACrE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAA;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAA;QACpC,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEtB,qDAAqD;QACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAA;QAC7C,oEAAoE;QACpE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;QACnC,MAAM,OAAO,GAA2B,EAAE,CAAA;QAC1C,MAAM,OAAO,GAAoB,EAAE,CAAA;QACnC,MAAM,IAAI,GAAG,CAAC,IAA2B,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;YAC3E,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,qBAAqB;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACpF,CAAC,CAAA;QACD,MAAM,IAAI,GAAG,CAAC,KAAiB,EAAE,MAAuB,EAAE,aAA0B,IAAI,EAAE,EAAE;YAC1F,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAChE,CAAC,CAAA;QAED,2EAA2E;QAC3E,4DAA4D;QAC5D,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE1E,gEAAgE;QAChE,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CACzE,IAAI,CAAC,GAAG,CAAC,qBAAqB,SAAS,EAAE,EAAE,EAAE,CAAC,CAC/C,CAAA;QACD,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACjD,MAAM,MAAM,GAAG,CAAC,UAAkB,EAAW,EAAE,CAC7C,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAA;QAC/E,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;gBACzD,IAAI,MAAM,CAAC,UAAU,CAAC;oBAAE,OAAO,IAAI,CAAA;gBACnC,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,QAAQ,IAAI,CAAC,IAAI,YAAY,UAAU,EAAE,CAAC,CAAA;gBACnF,OAAO,KAAK,CAAA;YACd,CAAC,CAAC,CAAA;YACF,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7F,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,mDAAmD;QACnD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;QAC/E,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,QAAQ;YAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;QACrF,uFAAuF;QACvF,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAA;QACjD,MAAM,OAAO,GAAG,CAAC,GAAW,EAAmB,EAAE;YAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAA;YACnC,MAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,IAAI,OAAO,GAAuB,GAAG,CAAA;YACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;YAC9B,OAAO,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACnB,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;oBACtB,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACjB,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACjC,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACrB,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,wEAAwE;QACxE,iEAAiE;QACjE,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,0DAA0D;QAC1D,MAAM,MAAM,GAAyB,MAAM,CAAC,WAAW,IAAI;YACzD,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,IAAI;SAClB,CAAA;QACD,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW;YAC9B,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC;YAC/D,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;QAEpF,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,WAAW,EAAE,CAAA;QAC5B,MAAM,KAAK,GAA6B;YACtC,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,EAAE;YACf,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;SACb,CAAA;QACD,MAAM,OAAO,GAAiB,EAAE,CAAA;QAChC,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QACzC,uFAAuF;QACvF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;QAEvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YAC9B,IAAI,KAAK,CAAC,QAAQ,KAAK,uBAAuB;gBAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC/E,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,KAAK,CAAC,QAAQ,KAAK,qBAAqB,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBAChG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACjE,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC7B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACZ,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,IAAI,CAAC,CAAA;oBACpC,SAAQ;gBACV,CAAC;gBACD,qEAAqE;gBACrE,+DAA+D;gBAC/D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,CAAA;gBAClC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC9B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;gBACvC,SAAQ;YACV,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;YACzB,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACzC,IAAI,eAAe;gBAAE,KAAK,CAAC,cAAc,IAAI,CAAC,CAAA;YAC9C,+DAA+D;YAC/D,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrD,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;gBAC/B,SAAQ;YACV,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,CAAA;YAC3B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAChC,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAQ;YAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;YACrD,uEAAuE;YACvE,kEAAkE;YAClE,wDAAwD;YACxD,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,sBAAsB,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7F,KAAK,CAAC,cAAc,IAAI,CAAC,CAAA;YAC3B,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,CAAA;YAClC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACtC,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAExB,yEAAyE;QACzE,0EAA0E;QAC1E,gDAAgD;QAChD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAA;QACzC,0EAA0E;QAC1E,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,UAAU,GAAG,KAAK,IAAI,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;QAClE,IAAI,UAAU,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAC9D,MAAM,IAAI,yBAAyB,CACjC,iDAAiD,YAAY,qCAAqC;gBAChG,iDAAiD,KAAK,CAAC,IAAI,oCAAoC;gBAC/F,kGAAkG;gBAClG,kGAAkG;gBAClG,sGAAsG;gBACtG,gGAAgG;gBAChG,sBAAsB,CACzB,CAAA;QACH,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,wEAAwE;YACxE,0EAA0E;YAC1E,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAC5C,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAChC,OAAO;YACL,EAAE,EAAE,SAAS;YACb,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,MAAM;YACN,KAAK;YACL,GAAG,MAAM;YACT,MAAM;YACN,OAAO;YACP,OAAO;YACP,MAAM;YACN,KAAK;YACL,UAAU;SACX,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB;QAC5B,MAAM,QAAQ,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAA;QACtE,MAAM,KAAK,GAAG,QAAQ,EAAE,mBAAmB,CAAA;QAC3C,IAAI,CAAC,KAAK,EAAE,gBAAgB;YAAE,OAAO,IAAI,CAAA;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,UAAe,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,CAAA;QAClG,IAAI,CAAC,IAAI,EAAE,SAAS;YAAE,OAAO,IAAI,CAAA;QACjC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAA;IACrG,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CAC1B,MAAuB,EACvB,SAAiB,EACjB,IAA2E;QAE3E,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,wBAAwB,CAChC,2GAA2G;gBACzG,wFAAwF,CAC3F,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC1C,MAAM,MAAM,GAAe,EAAE,CAAA;QAC7B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;QACpC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;QACrC,IAAI,KAAyB,CAAA;QAC7B,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;YACvE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,wBAAwB,CAChC,kCAAkC,OAAO,MAAM,+BAA+B,CAC/E,CAAA;YACH,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,wBAAwB,CAChC,kCAAkC,MAAM,CAAC,KAAK,CAAC,MAAM,sBAAsB,SAAS,IAAI;oBACtF,gDAAgD,CACnD,CAAA;YACH,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAA;oBAC3D,SAAQ;gBACV,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACvC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,iCAAiC,CAAC,CAAA;oBAC7D,SAAQ;gBACV,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,KAAK,MAAM,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAA;oBAC3E,SAAQ;gBACV,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;gBAC/C,IAAI,KAAK,EAAE,CAAC;oBACV,qEAAqE;oBACrE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAClB,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBAC9C,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,MAAM,MAAM,kBAAkB,CAAC,CAAA;oBAC7D,SAAQ;gBACV,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YAC7B,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBAAE,MAAK;YAChE,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,wBAAwB,CAChC,qCAAqC,MAAM,CAAC,MAAM,uBAAuB,IAAI,GAAG,CAAC,eAAe,CACjG,CAAA;YACH,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC9B,KAAK,GAAG,MAAM,CAAC,MAAM,CAAA;YACrB,IAAI,IAAI,IAAI,mBAAmB,EAAE,CAAC;gBAChC,MAAM,IAAI,0BAA0B,CAClC,iCAAiC,mBAAmB,+BAA+B,CACpF,CAAA;YACH,CAAC;QACH,CAAC;QACD,0EAA0E;QAC1E,+DAA+D;QAC/D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,gDAAgD,CAAC,CAAA;QAC3G,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,KAAK,CAAC,eAAe,CAC3B,OAAoB,EACpB,SAAiB,EACjB,GAAS,EACT,GAAsB;QAEtB,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;QAC9C,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,oEAAoE;QACpE,gDAAgD;QAChD,IAAI,MAAM,GAAG,CAAC,CAAA;QAEd,uEAAuE;QACvE,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,IAAI,CAAC,OAAO,CAChB,MAAM,EACN,uBAAuB,EACvB,SAAS,EACT,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;iBACF,IAAI,CAAC,mBAAmB,CAAC;iBACzB,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;iBACrF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAQ,CAAC,EAC/C,CAAC,GAAQ,EAAE,EAAE;gBACX,IAAI,IAAI,CAAC,CAAA;gBACT,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE;oBACzC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBAChE,qEAAqE;oBACrE,oEAAoE;oBACpE,qEAAqE;oBACrE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE;oBAC9E,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;oBAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;oBACxC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,MAAM,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE;iBAC/G,CAAC,EAAE,CAAC;oBACH,MAAM,IAAI,CAAC,CAAA;gBACb,CAAC;YACH,CAAC,CACF,CAAA;YAED,MAAM,IAAI,CAAC,OAAO,CAChB,MAAM,EACN,kBAAkB,EAClB,SAAS,EACT,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,CAAC,EACxH,CAAC,GAAQ,EAAE,EAAE;gBACX,IAAI,IAAI,CAAC,CAAA;gBACT,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,MAAM,GAAG,CAAC,eAAe,MAAM,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,CAAA;gBAC1H,oEAAoE;gBACpE,qEAAqE;gBACrE,yDAAyD;gBACzD,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;gBACtE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAA;oBAC7C,OAAM;gBACR,CAAC;gBACD,IACE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;oBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBAChE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE;oBAC9E,UAAU;oBACV,MAAM,EAAE,KAAK;iBACd,CAAC,EACF,CAAC;oBACD,MAAM,IAAI,CAAC,CAAA;gBACb,CAAC;YACH,CAAC,CACF,CAAA;YAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACK,KAAK,CAAC,kBAAkB,CAAI,EAA+B;QACjE,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YAC9C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,cAAc,EAAE,iBAA0B,EAAE,CAAA;QAClD,iEAAiE;QACjE,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,KAAK,GAA8B,IAAI,CAAA;QAC3C,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACxC,IAAI,CAAC;oBACH,OAAO,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;gBACtB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,KAAK,GAAG,EAAE,KAAK,EAAE,CAAA;oBACjB,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC,EAAE,OAAO,CAAC,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,KAAK,IAAI,IAAK,KAA4B,CAAC,KAAK,KAAK,KAAK;gBAAE,MAAM,KAAK,CAAA;YAChF,IAAI,YAAY,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;YACpC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,gCAAgC,CAAC,SAAS,EAAE,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YACpG,CAAC;YACD,MAAM,IAAI,yBAAyB,CAAC,SAAS,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACK,KAAK,CAAC,eAAe,CAC3B,MAAuB,EACvB,SAAiB,EACjB,SAAiB,EACjB,OAAoB,EACpB,GAAS,EACT,GAAsB;QAEtB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAA;QAC9B,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,yBAAyB,CACjC,gBAAgB,EAChB,8BAA8B,EAC9B,QAAQ,EACR,8FAA8F;gBAC5F,4FAA4F,CAC/F,CAAA;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,IAAI,KAAyB,CAAA;QAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;QACrC,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;YACxD,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAI,0BAA0B,CAClC,uCAAuC,GAAG,CAAC,KAAK,CAAC,MAAM,qBAAqB,SAAS,EAAE,CACxF,CAAA;YACH,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACnF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,CAAA;gBACT,IAAI,IAAI,GAAG,SAAS,EAAE,CAAC;oBACrB,MAAM,IAAI,sBAAsB,CAC9B,8DAA8D,SAAS,uBAAuB;wBAC5F,uFAAuF;wBACvF,uFAAuF,CAC1F,CAAA;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC/B,IACE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE;wBACrC,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;wBACrC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;wBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;qBACpB,CAAC,EACF,CAAC;wBACD,MAAM,IAAI,CAAC,CAAA;oBACb,CAAC;oBACD,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;oBACnD,SAAQ;gBACV,CAAC;gBACD,IACE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;oBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,EACF,CAAC;oBACD,MAAM,IAAI,CAAC,CAAA;gBACb,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;YACzB,IAAI,CAAC,MAAM;gBAAE,MAAK;YAClB,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,0BAA0B,CAClC,2DAA2D,IAAI,GAAG,CAAC,cAAc,CAClF,CAAA;YACH,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACvB,KAAK,GAAG,MAAM,CAAA;QAChB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACzB,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CACpB,OAAoB,EACpB,GAAS,EACT,GAAsB,EACtB,IAAuG;QAEvG,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC9C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACnD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,IAAY,CAAA;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1D,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACjD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACtF,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,eAAe,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;QACrG,+DAA+D;QAC/D,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;YACrC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACzD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gFAAgF;IACxE,QAAQ,CACd,GAAsB,EACtB,IAAiF;QAEjF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACxD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC9C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,IAAY,CAAA;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,OAAO,CACnB,MAAW,EACX,SAAiB,EACjB,SAAiB,EACjB,KAA0B,EAC1B,MAA0B;QAE1B,IAAI,KAAyB,CAAA;QAC7B,SAAS,CAAC;YACR,MAAM,IAAI,GAAU,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;gBAC3B,IAAI,KAAK,KAAK,SAAS;oBAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;gBACxD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACtD,CAAC,CAAC,CAAA;YACF,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;gBAAE,OAAM;YACnC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,cAAc,CAAC,IAAuC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,wBAAwB,CAChC,wDAAwD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAC9E,CAAA;QACH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAA;QACtD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC3C,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CACrE,CAAA;QACD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAqB,EAAE;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,SAAS,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAA;YAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;YACtC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAA;YACtE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QAC9B,CAAC,CAAA;QAED,MAAM,KAAK,GAAoB,EAAE,CAAA;QACjC,MAAM,OAAO,GAAoB,EAAE,CAAA;QACnC,qEAAqE;QACrE,2EAA2E;QAC3E,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,EAAE,EACF,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAC5G,CAAA;QACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAQ,KAAK,EAAE,GAAG,CAAA;YAC3B,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjG,SAAQ;YACV,CAAC;YACD,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,CAAA;YACtD,IAAI,GAAG,CAAC,QAAQ,KAAK,uBAAuB,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,kBAAkB,GAAG,CAAC;oBAC7D,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACjE,CAAC,CAAC,IAAI,CAAA;gBACR,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,gEAAgE;oBAChE,yDAAyD;oBACzD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;oBAC1E,SAAQ;gBACV,CAAC;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;oBAC1E,SAAQ;gBACV,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,YAAY;oBAClB,MAAM;oBACN,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,QAAQ,EAAE,OAAO,CAAC,IAAI;oBACtB,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;oBAC5D,MAAM,EAAE,EAAE;iBACX,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBAClG,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACzD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,iEAAiE;oBACjE,mEAAmE;oBACnE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;oBACzE,SAAQ;gBACV,CAAC;gBACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;gBACzE,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;oBACpE,SAAQ;gBACV,CAAC;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;oBAC1E,SAAQ;gBACV,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;gBACnE,SAAQ;YACV,CAAC;YACD,wEAAwE;YACxE,sEAAsE;YACtE,iEAAiE;YACjE,uEAAuE;YACvE,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,iEAAiE;YACjE,gEAAgE;YAChE,IAAI,GAAG,CAAC,QAAQ,KAAK,sBAAsB,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,wBAAwB,GAAG,CAAC,EAAE,CAAC;gBACrG,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;gBACrF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;oBAC1E,SAAQ;gBACV,CAAC;gBACD,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACvD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;oBACzE,SAAQ;gBACV,CAAC;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;oBAC1E,SAAQ;gBACV,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;gBAClF,SAAQ;YACV,CAAC;YACD,kEAAkE;QACpE,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,IAAI,SAAS,CAAA;QACvD,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACzF,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CAAC,SAAiB;QAC5C,MAAM,GAAG,GAAkB,EAAE,CAAA;QAC7B,IAAI,iBAAqC,CAAA;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;QACpC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,GAAG,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,EAAE,EACF,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAC/E,CAAA;YACD,KAAK,IAAI,CAAC,CAAA;YACV,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAQ,KAAK,EAAE,GAAG,CAAA;gBAC3B,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;oBACjD,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,CAAA;oBACzC,IAAI,CAAC,IAAI,CACP,6DAA6D,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK;wBAC3F,gCAAgC,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAC1E,CAAA;oBACD,SAAQ;gBACV,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;iBAC9D,CAAC,CAAA;gBACF,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;oBAC3B,MAAM,IAAI,sBAAsB,CAC9B,6DAA6D,SAAS,uBAAuB;wBAC3F,yFAAyF;wBACzF,yFAAyF;wBACzF,4FAA4F,CAC/F,CAAA;gBACH,CAAC;YACH,CAAC;YACD,iBAAiB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,SAAS,CAAA;YAC5D,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,0BAA0B,CAClC,sDAAsD,KAAK,0BAA0B,CACtF,CAAA;gBACH,CAAC;gBACD,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;oBAC5B,MAAM,IAAI,0BAA0B,CAClC,qBAAqB,cAAc,8BAA8B,CAClE,CAAA;gBACH,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,QAAQ,iBAAiB,EAAC;QAC3B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,oBAAoB,CAAC,OAAqB,EAAE,MAAa;QACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE;gBACrE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,kCAAkC,CAAC,MAAM,EAAE;aAC1E,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACzD,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE,uBAAuB,CAAC,CAAA;QAC/F,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,KAAK,CAAC,aAAa,CACzB,MAA4D,EAC5D,UAAmD,EAAE;QAErD,0EAA0E;QAC1E,sBAAsB;QACtB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;QACpC,MAAM,IAAI,GAA8D,EAAE,CAAA;QAC1E,IAAI,iBAAqC,CAAA;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;QACpC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,GAAG,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC9C,QAAQ,EAAE,cAAc;gBACxB,iBAAiB;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAA;YACF,KAAK,IAAI,CAAC,CAAA;YACV,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAQ,KAAK,EAAE,GAAG,CAAA;gBACzB,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;oBAC3C,2DAA2D;oBAC3D,mEAAmE;oBACnE,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,CAAA;oBACzC,IAAI,CAAC,IAAI,CACP,4CAA4C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,0CAA0C,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAClL,CAAA;oBACD,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC5B,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;oBAClE,IAAI,UAAU,IAAI,UAAU,IAAI,GAAG;wBAAE,SAAQ;gBAC/C,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;YACrE,CAAC;YACD,iBAAiB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,SAAS,CAAA;YAC5D,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,0BAA0B,CAClC,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,6CAA6C,KAAK,0BAA0B,CAC3G,CAAA;gBACH,CAAC;gBACD,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;oBAC5B,MAAM,IAAI,0BAA0B,CAClC,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,cAAc,2CAA2C,CACpG,CAAA;gBACH,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,QAAQ,iBAAiB,EAAC;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,+EAA+E;AAE/E,8EAA8E;AAC9E,MAAM,mBAAmB,GAAG,OAAO,CAAA;AAEnC;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,KAA2C;IAChE,IAAI,KAAK,CAAC,QAAQ,KAAK,qBAAqB;QAAE,OAAO,MAAM,CAAA;IAC3D,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAAE,OAAO,SAAS,CAAA;IACvH,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,qBAAqB;QAAE,OAAO,MAAM,CAAA;IAC9G,OAAO,OAAO,CAAA;AAChB,CAAC;AA+BD,4DAA4D;AAC5D,SAAS,SAAS,CAAC,KAA+B;IAChD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;AAC7E,CAAC;AAED,8EAA8E;AAC9E,SAAS,kBAAkB,CAAC,MAAmB;IAC7C,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,CAAA;IACnD,OAAO;QACL,GAAG,MAAM,CAAC,KAAK;QACf,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE;KAC9F,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,QAA6B,EAAE,IAAY,EAAE,MAAc;IAC3E,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,IAAI,OAAO,GAAuB,IAAI,CAAA;IACtC,OAAO,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClB,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,IAAI,CAAA;QACnC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACjB,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,369 @@
1
+ import type { CatalogProjectionRole, HolderTypeMap } from '../types.js';
2
+ /**
3
+ * `holderTypes` tiene que ser INYECTIVO. Si dos morph names caen en el mismo
4
+ * tipo FGA, para el store son un solo holder: un grant a `users:U` autoriza a
5
+ * `integrations:U`, `listSubjects` devuelve el morph equivocado y un revoke
6
+ * borra al otro (invariante 4, L0.2). El generador del modelo lo "sabía"
7
+ * (deduplicaba con un Set) y publicaba sin quejarse: ahora lanza aquí, al
8
+ * construir el driver y al generar cualquiera de los dos modelos, antes de
9
+ * tocar nada.
10
+ */
11
+ export declare function assertHolderTypes(holderTypes: HolderTypeMap): void;
12
+ /**
13
+ * Longitud máxima de un nombre de relación en FGA. `MAX_SLUG_LENGTH` (42) es
14
+ * justo esto menos el prefijo derivado más largo (`permits_`), así que un
15
+ * slug legal siempre cabe: la comprobación de aquí es la red del generador,
16
+ * que también lo llaman herramientas con listas de permisos que no pasaron
17
+ * por `assertValidSlug` (una base sincronizada por otra versión, un driver
18
+ * de terceros).
19
+ */
20
+ export declare const FGA_MAX_RELATION_NAME = 50;
21
+ /**
22
+ * Longitud máxima del id de un objeto FGA. Con la gramática publicada nada
23
+ * se acerca (`role_binding:<tipo>|<uuid>|<roleUuid>` son 107 como mucho),
24
+ * pero el id se compone de partes que vienen de la BASE: un catálogo
25
+ * corrupto no puede fabricar un objeto que el store no pueda leer de vuelta.
26
+ */
27
+ export declare const FGA_MAX_OBJECT_ID = 256;
28
+ /**
29
+ * Techo del authorization model (default de
30
+ * `OPENFGA_MAX_AUTHORIZATION_MODEL_SIZE_IN_BYTES`). **El techo son BYTES; el
31
+ * número de permisos que caben NO es una propiedad del modelo** (3b-4 · C3):
32
+ * depende de cuántos holder types declaras, de cuánto miden sus NOMBRES en el
33
+ * modelo y de cuánto miden los slugs de tus permisos. Medido con
34
+ * `factsModelBytes` —que cuenta los mismos bytes que el servidor, contrastado
35
+ * contra un `:8101` real— y fijado por un caso (`3b-4 · C3`):
36
+ *
37
+ * | catálogo | permisos que caben |
38
+ * |---|---|
39
+ * | 1 holder type, slugs `p0`…`pN` | **800** |
40
+ * | 3 holder types (`user`/`admin`/`integration`), slugs `p0`…`pN` | **691** |
41
+ * | 1 holder type, slugs `docs:readN` | **576** |
42
+ * | 3 holder types, slugs `recursoN:accion` (REALISTAS) | **447** |
43
+ * | 3 holder types, slugs de 40 caracteres | **272** |
44
+ *
45
+ * O sea: el «≈691» que se publicó es la cifra de un catálogo cuyos permisos se
46
+ * llaman `p0`, `p1`, `p2`…; **con nombres de permiso normales el techo está en
47
+ * ~450**. Y los mismos tres holder types con nombres más cortos (`bot` en vez
48
+ * de `integration`) dan 721: no basta con decir «tres holder types».
49
+ *
50
+ * Se valida en `syncAuthzCatalog` ANTES de escribir el catálogo: un catálogo
51
+ * que no se puede publicar no se escribe a medias en un entorno y entero en
52
+ * otro. El gate por bytes es exacto y salta antes de escribir, así que
53
+ * equivocarse con la cifra derivada no concede nada: solo sorprende.
54
+ */
55
+ export declare const FACTS_MODEL_MAX_BYTES = 262144;
56
+ /**
57
+ * **Profundidad máxima de cadena que el modelo (c2) resuelve** (3b-2e · E5),
58
+ * MEDIDA contra OpenFGA v1.19 con el `--resolve-node-limit` por defecto (25).
59
+ * Con el grant en la RAÍZ y el `Check` a profundidad creciente, 25
60
+ * repeticiones por punto:
61
+ *
62
+ * | saltos `parent` | `can_<P>` |
63
+ * |---|---|
64
+ * | 21 | 25/25 resuelve |
65
+ * | **22** | **25/25 resuelve** ← la cota que se declara |
66
+ * | 23 | resuelve casi siempre y **falla entre un 4 % y un 26 %** de las veces según la carga — el borde NO es nítido |
67
+ * | 24 | 0/25: siempre falla |
68
+ *
69
+ * (Remedido en 3b-4 · C4 sobre 50 hojas a la misma profundidad: a 22, 200 de
70
+ * 200 resuelven en cuatro lotes; a 23, entre 6 y 13 errores por lote de 50, y
71
+ * 15 de 100 en checks sueltos; a 24, 100 de 100 fallan.)
72
+ *
73
+ * Las otras dos ramas del modelo llegan más lejos (`denied_<P>` hasta 25,
74
+ * `ancestor` hasta 26): manda la más baja, y es `can_<P>` porque es una resta
75
+ * (`difference`) sobre una unión con DOS TTU (`binding` y `parent`), o sea dos
76
+ * reescrituras más que las otras.
77
+ *
78
+ * **Lo importante del hallazgo no es el número, es que el borde es
79
+ * PROBABILÍSTICO**: a 23 saltos la misma pregunta responde casi siempre y
80
+ * falla de vez en cuando (el presupuesto de nodos se consume de forma no
81
+ * determinista al resolver la unión). Por eso se declara **22**, que es la
82
+ * profundidad que resuelve SIEMPRE, y no el primer valor que falló. Un caso
83
+ * de la suite apoyado en 23 habría sido flaky en el artefacto publicado —la
84
+ * misma lección que 3G · Y1—, y de hecho lo fue una vez antes de medirlo.
85
+ *
86
+ * **Y por eso la constante se clava con REPETICIONES, no con una tirada**
87
+ * (3b-4 · C4): el par de casos original —positivo en la cota, negativo en la
88
+ * cota + 2— sujetaba el intervalo [22, 23] y no el 22 (con la constante a 23
89
+ * la suite seguía verde 3 corridas de 3, tester Fase 3b · M12b). El caso que
90
+ * lo cierra hace **500 resoluciones por lado** (10 lotes de 50 con
91
+ * `authorizeMany`): en la cota tienen que resolver las 500, y un salto más
92
+ * tiene que fallar al menos una vez. Con la tasa de fallo más baja jamás
93
+ * medida (4 %) un verde falso es 0,96^500 ≈ 1e-9.
94
+ *
95
+ * Los «~23» que citaba el panel (riesgo S9) eran de un modelo MÁS SIMPLE y
96
+ * estaban sin medir sobre (c2).
97
+ *
98
+ * Pasado el techo el servidor responde 400 («resolution required too many
99
+ * rewrite rules») y el paquete lo propaga como 503, **nunca como un `false`**
100
+ * (invariante 5): es fail-closed, pero es un DoS al alcance de quien pueda
101
+ * crear sub-scopes anidados, y `database` no tiene ese techo — el mismo árbol
102
+ * es legal en un driver y una caída en el otro. Sube
103
+ * `OPENFGA_RESOLVE_NODE_LIMIT` en el servidor si tu árbol es más profundo.
104
+ */
105
+ export declare const FACTS_MAX_RESOLVE_DEPTH = 22;
106
+ /** Tope de checks por `batchCheck` en OpenFGA (el driver trocea en lotes de este tamaño). */
107
+ export declare const FGA_MAX_BATCH_CHECK = 50;
108
+ /** Fracción del techo a partir de la cual se avisa (cruce 9: "aviso al 80 %"). */
109
+ export declare const FACTS_MODEL_WARN_RATIO = 0.8;
110
+ /** El tipo FGA cuyo id es el uuid del rol del catálogo. */
111
+ export declare const FACTS_ROLE_TYPE = "role";
112
+ /** Prefijo de la familia que materializa el catálogo (`role:<uuid>#permits_<P>`). */
113
+ export declare const FACTS_PERMITS_PREFIX = "permits_";
114
+ /**
115
+ * **La relación de (c2r)**: «desde este scope se llega a la raíz `app`»
116
+ * (3b-2i). Es una relación PROPIA del modelo, como `parent` o `ancestor`, y
117
+ * la única que se escribe una vez por STORE en vez de por hecho: el marcador
118
+ * de raíz (`factsRootTuples`).
119
+ */
120
+ export declare const FACTS_ROOTED_RELATION = "rooted";
121
+ /** Las CUATRO familias de (c2) para un permiso: `<P>`, `can_<P>`, `denied_<P>`, `permits_<P>`. */
122
+ export interface FactsRelations {
123
+ permission: string;
124
+ /** `<P>` en `role_binding` y en `scope`. */
125
+ base: string;
126
+ /** `can_<P>`: lo que responde `authorize`. */
127
+ can: string;
128
+ /** `denied_<P>`: el deny explícito, heredado hacia abajo. */
129
+ denied: string;
130
+ /** `permits_<P>`: la proyección del catálogo (qué permisos vincula un rol). */
131
+ permits: string;
132
+ }
133
+ /** Las cuatro relaciones que un permiso genera, sin validar nada. */
134
+ export declare function factsRelationsOf(permission: string): FactsRelations;
135
+ /**
136
+ * **S4, bloqueante del juez.** Con CUATRO familias, dos permisos distintos
137
+ * pueden generar el mismo nombre de relación: `can_x` sale del permiso
138
+ * `can_x` y también del permiso `x`. El generador de antes las colapsaba en
139
+ * silencio y el modelo publicado anulaba un deny (el auditor lo reprodujo de
140
+ * punta a punta con `allowed: true`). Se detecta con un `Map` nombre→origen
141
+ * y se LANZA: nunca se escribe un modelo ambiguo.
142
+ *
143
+ * Es un espacio de nombres plano a propósito (aunque las relaciones vivan en
144
+ * tipos distintos): las familias tienen prefijos disjuntos, así que dos
145
+ * permisos legales jamás chocan aquí, y lo que sí choca es exactamente lo que
146
+ * `RESERVED_SLUGS`/`RESERVED_SLUG_PREFIXES` prohíben en el núcleo.
147
+ */
148
+ export declare function factsRelationMap(permissions: readonly string[]): FactsRelations[];
149
+ /**
150
+ * El authorization model del modo `facts` en el JSON del API de FGA. El mismo
151
+ * `holderTypes` y el mismo conjunto de permisos deben usarse al construir el
152
+ * driver: si difieren, los checks no encuentran las tuplas y `permits_<P>` de
153
+ * un permiso que el modelo no declara es un 400 del servidor.
154
+ *
155
+ * `permissions` son los slugs del CATÁLOGO (`authz_permissions`), que sigue
156
+ * siendo propiedad local: esto es una proyección derivada y reconstruible, no
157
+ * una fuente de verdad (regla del catálogo reescrita, cruce 7 del panel).
158
+ */
159
+ export declare function openFgaFactsModel(holderTypeMap: HolderTypeMap, permissions: readonly string[], relationsConfig?: FactsRelationsConfig): any;
160
+ /**
161
+ * Los bytes que el servidor contará para este modelo. Incluye el id (un ULID
162
+ * de 26 caracteres) porque el servidor lo asigna ANTES de medir: sin él la
163
+ * cuenta se queda 28 bytes corta.
164
+ */
165
+ export declare function factsModelBytes(model: any): number;
166
+ /**
167
+ * ¿Este catálogo se puede PUBLICAR como modelo `facts`? Se responde ANTES de
168
+ * escribir nada (`syncAuthzCatalog`), no en runtime: un catálogo que rebasa
169
+ * el techo del servidor entra en la base y deja el store sin poder
170
+ * regenerarse, que es la avería silenciosa.
171
+ *
172
+ * Pasado el 80 % del techo se AVISA por el canal de log del driver: quien
173
+ * declara permisos a ese ritmo tiene que enterarse antes de chocar, no el día
174
+ * del deploy que no arranca.
175
+ */
176
+ export declare function assertFactsModelPublishable(holderTypeMap: HolderTypeMap, permissions: readonly string[], warn?: (message: string) => void, relationsConfig?: FactsRelationsConfig): {
177
+ bytes: number;
178
+ permissions: number;
179
+ };
180
+ /** Cota de id de objeto (A4): lo que el store no podría leer de vuelta no se escribe. */
181
+ export declare function assertFgaObjectId(kind: string, id: string): void;
182
+ /** Una tupla de la proyección: `role:<uuid>#permits_<P>@<holder>:*`. */
183
+ export interface FactsCatalogTuple {
184
+ user: string;
185
+ relation: string;
186
+ object: string;
187
+ }
188
+ /**
189
+ * Las tuplas que materializan los vínculos rol→permiso del catálogo. Una por
190
+ * (rol, permiso, holder): el comodín de USUARIO es lo que hace (c2) barato
191
+ * —quitar un permiso de un rol son `holders` deletes en un solo `Write`, no
192
+ * una escritura por scope—.
193
+ *
194
+ * NO es catálogo: es una proyección derivada, reconstruible desde `authz_*`,
195
+ * que ningún camino de lectura del driver consulta para responder qué
196
+ * permisos tiene un rol (cruce 7 del panel; A6).
197
+ */
198
+ export declare function factsCatalogTuples(roles: readonly CatalogProjectionRole[], holderTypeMap: HolderTypeMap): FactsCatalogTuple[];
199
+ /** Clave textual de una tupla de la proyección, para comparar conjuntos. */
200
+ export declare function factsTupleId(tuple: FactsCatalogTuple): string;
201
+ /** El tipo FGA cuyo id es la `scopeKey` del paquete (`app` o `<tipo>|<uuid>`). */
202
+ export declare const FACTS_SCOPE_TYPE = "scope";
203
+ /** La arista del árbol: `scope:<hijo>#parent@scope:<padre>` (una por nodo). */
204
+ export declare const FACTS_PARENT_RELATION = "parent";
205
+ /** Una tupla del modo `facts` (misma forma que la del SDK, sin depender de él). */
206
+ export interface FactsTuple {
207
+ user: string;
208
+ relation: string;
209
+ object: string;
210
+ }
211
+ /**
212
+ * El objeto FGA de un scope. La `scopeKey` es la MISMA codificación que ya
213
+ * usan los ids de binding (`identity.ts`), así que el árbol y los hechos
214
+ * hablan del mismo nodo con la misma cadena; el scope tiene que venir ya
215
+ * CANÓNICO (invariante 17: `chain[0]`), o se abriría una segunda rama para
216
+ * el alias del uuid.
217
+ */
218
+ export declare function factsScopeObject(key: string): string;
219
+ /**
220
+ * La arista `hijo → padre` del árbol. Una sola tupla por nodo (c2): mover un
221
+ * subárbol es reescribir ESA tupla, no recorrer nada — por eso el `moved`
222
+ * del cruce 8 cabe en un `Write` atómico.
223
+ */
224
+ export declare function factsParentTuple(childKey: string, parentKey: string): FactsTuple;
225
+ /**
226
+ * **El marcador de raíz** (3b-2i): `scope:app#rooted@<holder>:*`, una tupla
227
+ * por holder type en TODO el store — cero por scope.
228
+ *
229
+ * Es lo que hace verdadera la premisa de `rooted`: solo la raíz la tiene
230
+ * directa. `attached`/`moved`/`detached` no escriben ni una tupla más por su
231
+ * culpa (la outbox y el relay no llevan entradas nuevas), y a cambio lo
232
+ * escribe quien toca el CATÁLOGO —`projectCatalog`, en cada
233
+ * `syncAuthzCatalog` con proyección, de forma idempotente— porque ése es el
234
+ * momento en el que un holderType nuevo del config aparece.
235
+ *
236
+ * ⚠️ **Modo de fallo que hay que conocer: sin marcador, todo el store
237
+ * DENIEGA** (medido: `can_<P>` es `false` en `app`, en la org y en la unit).
238
+ * Es fail-closed —no es una fuga— y ruidoso a la primera pregunta, pero es
239
+ * una caída total silenciosa desde el punto de vista del log. Por eso el
240
+ * marcador se repone en cada sync y `authz:reconcile` (3b-3) tiene que
241
+ * reportarlo como deriva cuando falte.
242
+ */
243
+ export declare function factsRootTuples(holderTypeMap: HolderTypeMap): FactsTuple[];
244
+ /** El tipo FGA de una asignación: `role_binding:<scopeKey>|<roleUuid>`. */
245
+ export declare const FACTS_BINDING_TYPE = "role_binding";
246
+ /** `scope:<key>#binding@role_binding:…` — qué asignaciones cuelgan del scope. */
247
+ export declare const FACTS_BINDING_RELATION = "binding";
248
+ /** `role_binding:…#role@role:<roleUuid>` — qué rol vincula la asignación. */
249
+ export declare const FACTS_ROLE_RELATION = "role";
250
+ /** `role_binding:…#assignee@<holder>` — quién está asignado (con la caducidad). */
251
+ export declare const FACTS_ASSIGNEE_RELATION = "assignee";
252
+ /**
253
+ * El objeto de una asignación. Mismo id que en el modo `resolver`
254
+ * (`<scopeKey>|<roleUuid>`, 3A · A1: uuid del catálogo, nunca el slug), y por
255
+ * eso el cambio de modelo no renombra un solo binding: lo que (c2) añade son
256
+ * las DOS aristas de abajo, no una identidad nueva.
257
+ */
258
+ export declare function factsBindingObject(scopeKeyValue: string, roleUuid: string): string;
259
+ /**
260
+ * Las dos aristas que hacen ALCANZABLE una asignación en (c2): el binding
261
+ * cuelga del scope (`scope#binding`) y apunta a su rol (`role_binding#role`).
262
+ * Sin ellas el `assignee` es un hecho huérfano que `can_<P>` no ve — es la
263
+ * diferencia entre el modo `resolver` (donde la cadena la expande el paquete
264
+ * y basta con el `assignee`) y el modo `facts`.
265
+ *
266
+ * Son ESTRUCTURA, no concesión: no llevan caducidad y no dicen quién está
267
+ * asignado. Por eso `revoke` no las borra (otro holder puede seguir usando el
268
+ * mismo binding) y re-escribirlas es idempotente.
269
+ */
270
+ export declare function factsBindingTuples(scopeKeyValue: string, roleUuid: string): FactsTuple[];
271
+ /**
272
+ * La arista `scope:<key>#binding@role_binding:<key>|<rol>` sola, que es la
273
+ * que hace ALCANZABLE la asignación desde el scope.
274
+ *
275
+ * **Qué significa** (3b-2g · R1, decisión del dueño del 2026-08-30 (2)): desde
276
+ * el barrido, «**el rol es visible aquí**» — no «esta asignación existe». El
277
+ * hecho de la asignación es el `assignee`, que el barrido no toca; esta arista
278
+ * la escribe y la borra el paquete cada vez que la REGLA DE VISIBILIDAD cambia
279
+ * de respuesta para ese `(rol, scope)`: el árbol se mueve y el owner deja de
280
+ * estar en la cadena (`scopes.moved`, 3b-2e · E1) o el catálogo cambia el
281
+ * NIVEL declarado del rol (`projectCatalogRole`, 3b-2g · R1). Es lo que en
282
+ * `database` se evalúa en cada pregunta con `declaredRoleAt`, y aquí hay que
283
+ * materializar porque el modelo (c2) no lleva ni el owner ni el nivel.
284
+ */
285
+ export declare function factsScopeBindingTuple(scopeKeyValue: string, roleUuid: string): FactsTuple;
286
+ /**
287
+ * El deny explícito de (c2): `scope:<key>#denied_<P>@<holder>`. Ya no existe
288
+ * el tipo `deny_binding` — el deny es una relación DEL SCOPE, que es lo que
289
+ * permite que `denied_<P>` se herede hacia abajo por `parent` dentro del
290
+ * propio modelo y que `can_<P>` sea la resta (invariante 2) en un solo Check.
291
+ */
292
+ export declare function factsDenyTuple(scopeKeyValue: string, permission: string, user: string): FactsTuple;
293
+ /** Prefijo de la familia del deny (`denied_<P>`), para leer denies por relación. */
294
+ export declare const FACTS_DENIED_PREFIX = "denied_";
295
+ /**
296
+ * El tipo `group` de las relaciones ReBAC: el portador de los usersets
297
+ * (`group:eng#member`) que hace que un `viewer` valga para todos los miembros
298
+ * de un grupo. Lo emite SIEMPRE el generador de relaciones (no lo declara el
299
+ * consumidor), y por eso es un tipo RESERVADO igual que los de `facts`.
300
+ */
301
+ export declare const FACTS_GROUP_TYPE = "group";
302
+ /** La relación de pertenencia del grupo: `group:<id>#member@<holder>` y `@group:<otro>#member`. */
303
+ export declare const FACTS_GROUP_MEMBER_RELATION = "member";
304
+ /**
305
+ * Los tipos reservados del modelo compartido (⚪4). La fuente única está en
306
+ * `src/identity.ts` (la gramática compartida), porque también la consume
307
+ * `defineRelationsConfig` en `src/relations/`, que la frontera de pureza
308
+ * mantiene disjunto de `drivers/`. Se re-exporta aquí para no romper el
309
+ * subpath `/openfga` (`src/openfga.ts` la publica desde este módulo).
310
+ */
311
+ export { RESERVED_FACTS_TYPES } from '../identity.js';
312
+ /** Una relación de un tipo de objeto de relaciones (`document#viewer`). */
313
+ export interface RelationObjectRelation {
314
+ /** El nombre de la relación (`owner`, `editor`, `viewer`). */
315
+ name: string;
316
+ /**
317
+ * Otras relaciones del MISMO tipo que ésta INCLUYE (`viewer or editor`): un
318
+ * `relate(u, editor, doc)` concede también `viewer`. Un nivel, SIN `from` en
319
+ * v1 (la herencia cross-objeto `viewer from parent` metería un TTU entre
320
+ * tipos y habría que re-medir profundidad — diferido a 2.6+).
321
+ */
322
+ includes?: readonly string[];
323
+ }
324
+ /** Un tipo de objeto de relaciones (`document`, `folder`, `space`…). */
325
+ export interface RelationObjectType {
326
+ /** El tipo FGA del objeto. */
327
+ type: string;
328
+ /** Sus relaciones, en orden de declaración. */
329
+ relations: readonly RelationObjectRelation[];
330
+ }
331
+ /**
332
+ * La config de relaciones que el generador FUSIONA en el modelo `facts`
333
+ * (Fase 4-1). Es la forma MÍNIMA que consume el generador; el puerto
334
+ * `RelationsDriver` y `defineRelationsConfig` completos son 4-2.
335
+ */
336
+ export interface FactsRelationsConfig {
337
+ /** Los tipos de objeto declarados por el consumidor. */
338
+ objectTypes: readonly RelationObjectType[];
339
+ }
340
+ /**
341
+ * **⚪4 + F-04, a nivel de MODELO.** Antes de emitir un solo `type_definition`
342
+ * de relaciones, el generador comprueba que la config es FUSIONABLE en el
343
+ * modelo compartido:
344
+ *
345
+ * - ningún `objectType` duplica un tipo reservado de `facts`/`group` ni un
346
+ * holder type (⚪4 · tipo), ni se repite;
347
+ * - ningún NOMBRE de relación (deduplicado entre tipos: `document#viewer` y
348
+ * `folder#viewer` son la misma relación lógica y se permiten) empieza por
349
+ * una familia derivada (`can_`/`denied_`/`permits_`) ni coincide con una
350
+ * relación PROPIA del modelo (`parent`/`rooted`/`assignee`… — ⚪4 · familia)
351
+ * ni con un permiso del catálogo (F-04);
352
+ * - los `includes` refieren relaciones del MISMO tipo (un nivel).
353
+ *
354
+ * Lanza 422 `E_AUTHZ_RELATION_CONFIG` del PAQUETE (no el 400 opaco del
355
+ * servidor), nombrando qué choca con qué.
356
+ */
357
+ export declare function assertRelationsConfigPublishable(permissionRelations: readonly FactsRelations[], config: FactsRelationsConfig, holderTypes: readonly string[]): void;
358
+ /**
359
+ * Los `type_definitions` de relaciones que el generador AÑADE al modelo
360
+ * `facts`: el tipo `group` (usersets) + un tipo por objeto declarado. El
361
+ * literal medido contra el `:8101` está en la §1 del plan de la Fase 4.
362
+ *
363
+ * `group.member` admite holders directos y `group#member` (grupos anidan un
364
+ * nivel); cada relación de objeto admite `[holders, group#member]` directos y,
365
+ * si declara `includes`, se une a las relaciones incluidas del mismo tipo
366
+ * (`viewer or editor`), sin una sola tupla extra.
367
+ */
368
+ export declare function factsRelationTypeDefinitions(permissionRelations: readonly FactsRelations[], config: FactsRelationsConfig, holderTypes: readonly string[]): any[];
369
+ //# sourceMappingURL=openfga_facts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openfga_facts.d.ts","sourceRoot":"","sources":["../../../src/drivers/openfga_facts.ts"],"names":[],"mappings":"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"}