@velarscript/cli 0.10.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 (228) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +117 -0
  3. package/dist/application-package-host.d.ts +5 -0
  4. package/dist/application-package-host.d.ts.map +1 -0
  5. package/dist/application-package-host.js +67 -0
  6. package/dist/application-package-host.js.map +1 -0
  7. package/dist/bounded-text.d.ts +2 -0
  8. package/dist/bounded-text.d.ts.map +1 -0
  9. package/dist/bounded-text.js +13 -0
  10. package/dist/bounded-text.js.map +1 -0
  11. package/dist/browser-process-owner.d.ts +15 -0
  12. package/dist/browser-process-owner.d.ts.map +1 -0
  13. package/dist/browser-process-owner.js +151 -0
  14. package/dist/browser-process-owner.js.map +1 -0
  15. package/dist/browser-test-runner.d.ts +11 -0
  16. package/dist/browser-test-runner.d.ts.map +1 -0
  17. package/dist/browser-test-runner.js +1022 -0
  18. package/dist/browser-test-runner.js.map +1 -0
  19. package/dist/build-engine-tool.d.ts +3 -0
  20. package/dist/build-engine-tool.d.ts.map +1 -0
  21. package/dist/build-engine-tool.js +34 -0
  22. package/dist/build-engine-tool.js.map +1 -0
  23. package/dist/build-staging.d.ts +3 -0
  24. package/dist/build-staging.d.ts.map +1 -0
  25. package/dist/build-staging.js +3 -0
  26. package/dist/build-staging.js.map +1 -0
  27. package/dist/bundled-application-package-host-registry.d.ts +10 -0
  28. package/dist/bundled-application-package-host-registry.d.ts.map +1 -0
  29. package/dist/bundled-application-package-host-registry.js +16 -0
  30. package/dist/bundled-application-package-host-registry.js.map +1 -0
  31. package/dist/bundled-extension-registry.d.ts +22 -0
  32. package/dist/bundled-extension-registry.d.ts.map +1 -0
  33. package/dist/bundled-extension-registry.js +10 -0
  34. package/dist/bundled-extension-registry.js.map +1 -0
  35. package/dist/canonical-path.d.ts +3 -0
  36. package/dist/canonical-path.d.ts.map +1 -0
  37. package/dist/canonical-path.js +30 -0
  38. package/dist/canonical-path.js.map +1 -0
  39. package/dist/cli.d.ts +3 -0
  40. package/dist/cli.d.ts.map +1 -0
  41. package/dist/cli.js +1274 -0
  42. package/dist/cli.js.map +1 -0
  43. package/dist/config.d.ts +26 -0
  44. package/dist/config.d.ts.map +1 -0
  45. package/dist/config.js +403 -0
  46. package/dist/config.js.map +1 -0
  47. package/dist/deployment-verifier.d.ts +34 -0
  48. package/dist/deployment-verifier.d.ts.map +1 -0
  49. package/dist/deployment-verifier.js +260 -0
  50. package/dist/deployment-verifier.js.map +1 -0
  51. package/dist/dev-server.d.ts +3 -0
  52. package/dist/dev-server.d.ts.map +1 -0
  53. package/dist/dev-server.js +464 -0
  54. package/dist/dev-server.js.map +1 -0
  55. package/dist/embedded-modules.d.ts +17 -0
  56. package/dist/embedded-modules.d.ts.map +1 -0
  57. package/dist/embedded-modules.js +33 -0
  58. package/dist/embedded-modules.js.map +1 -0
  59. package/dist/extension-metadata.d.ts +23 -0
  60. package/dist/extension-metadata.d.ts.map +1 -0
  61. package/dist/extension-metadata.js +254 -0
  62. package/dist/extension-metadata.js.map +1 -0
  63. package/dist/file-integrity.d.ts +7 -0
  64. package/dist/file-integrity.d.ts.map +1 -0
  65. package/dist/file-integrity.js +14 -0
  66. package/dist/file-integrity.js.map +1 -0
  67. package/dist/framework-host.d.ts +12 -0
  68. package/dist/framework-host.d.ts.map +1 -0
  69. package/dist/framework-host.js +46 -0
  70. package/dist/framework-host.js.map +1 -0
  71. package/dist/host-error.d.ts +6 -0
  72. package/dist/host-error.d.ts.map +1 -0
  73. package/dist/host-error.js +54 -0
  74. package/dist/host-error.js.map +1 -0
  75. package/dist/installed-package.d.ts +9 -0
  76. package/dist/installed-package.d.ts.map +1 -0
  77. package/dist/installed-package.js +23 -0
  78. package/dist/installed-package.js.map +1 -0
  79. package/dist/language-server-bundle-entry.d.ts +2 -0
  80. package/dist/language-server-bundle-entry.d.ts.map +1 -0
  81. package/dist/language-server-bundle-entry.js +7 -0
  82. package/dist/language-server-bundle-entry.js.map +1 -0
  83. package/dist/language-server-tool.d.ts +3 -0
  84. package/dist/language-server-tool.d.ts.map +1 -0
  85. package/dist/language-server-tool.js +30 -0
  86. package/dist/language-server-tool.js.map +1 -0
  87. package/dist/language-server.d.ts +9 -0
  88. package/dist/language-server.d.ts.map +1 -0
  89. package/dist/language-server.js +1733 -0
  90. package/dist/language-server.js.map +1 -0
  91. package/dist/mechanical-fixer.d.ts +30 -0
  92. package/dist/mechanical-fixer.d.ts.map +1 -0
  93. package/dist/mechanical-fixer.js +103 -0
  94. package/dist/mechanical-fixer.js.map +1 -0
  95. package/dist/module-assets.d.ts +11 -0
  96. package/dist/module-assets.d.ts.map +1 -0
  97. package/dist/module-assets.js +90 -0
  98. package/dist/module-assets.js.map +1 -0
  99. package/dist/npm.d.ts +23 -0
  100. package/dist/npm.d.ts.map +1 -0
  101. package/dist/npm.js +456 -0
  102. package/dist/npm.js.map +1 -0
  103. package/dist/official-language-server-extensions.d.ts +2 -0
  104. package/dist/official-language-server-extensions.d.ts.map +1 -0
  105. package/dist/official-language-server-extensions.js +38 -0
  106. package/dist/official-language-server-extensions.js.map +1 -0
  107. package/dist/official-script-language-service.d.ts +2 -0
  108. package/dist/official-script-language-service.d.ts.map +1 -0
  109. package/dist/official-script-language-service.js +10 -0
  110. package/dist/official-script-language-service.js.map +1 -0
  111. package/dist/official-tool-assets.d.ts +3 -0
  112. package/dist/official-tool-assets.d.ts.map +1 -0
  113. package/dist/official-tool-assets.js +41 -0
  114. package/dist/official-tool-assets.js.map +1 -0
  115. package/dist/ownership-graph.d.ts +46 -0
  116. package/dist/ownership-graph.d.ts.map +1 -0
  117. package/dist/ownership-graph.js +255 -0
  118. package/dist/ownership-graph.js.map +1 -0
  119. package/dist/package-manager.d.ts +20 -0
  120. package/dist/package-manager.d.ts.map +1 -0
  121. package/dist/package-manager.js +345 -0
  122. package/dist/package-manager.js.map +1 -0
  123. package/dist/packaged-official-tool.d.ts +8 -0
  124. package/dist/packaged-official-tool.d.ts.map +1 -0
  125. package/dist/packaged-official-tool.js +32 -0
  126. package/dist/packaged-official-tool.js.map +1 -0
  127. package/dist/preview-server.d.ts +11 -0
  128. package/dist/preview-server.d.ts.map +1 -0
  129. package/dist/preview-server.js +163 -0
  130. package/dist/preview-server.js.map +1 -0
  131. package/dist/production-build.d.ts +57 -0
  132. package/dist/production-build.d.ts.map +1 -0
  133. package/dist/production-build.js +332 -0
  134. package/dist/production-build.js.map +1 -0
  135. package/dist/production-verifier.d.ts +9 -0
  136. package/dist/production-verifier.d.ts.map +1 -0
  137. package/dist/production-verifier.js +268 -0
  138. package/dist/production-verifier.js.map +1 -0
  139. package/dist/program-runner.d.ts +7 -0
  140. package/dist/program-runner.d.ts.map +1 -0
  141. package/dist/program-runner.js +98 -0
  142. package/dist/program-runner.js.map +1 -0
  143. package/dist/project-check.d.ts +31 -0
  144. package/dist/project-check.d.ts.map +1 -0
  145. package/dist/project-check.js +95 -0
  146. package/dist/project-check.js.map +1 -0
  147. package/dist/project-format.d.ts +6 -0
  148. package/dist/project-format.d.ts.map +1 -0
  149. package/dist/project-format.js +21 -0
  150. package/dist/project-format.js.map +1 -0
  151. package/dist/project-semantic.d.ts +62 -0
  152. package/dist/project-semantic.d.ts.map +1 -0
  153. package/dist/project-semantic.js +1079 -0
  154. package/dist/project-semantic.js.map +1 -0
  155. package/dist/project-session.d.ts +36 -0
  156. package/dist/project-session.d.ts.map +1 -0
  157. package/dist/project-session.js +339 -0
  158. package/dist/project-session.js.map +1 -0
  159. package/dist/project-task-bundle-entry.d.ts +2 -0
  160. package/dist/project-task-bundle-entry.d.ts.map +1 -0
  161. package/dist/project-task-bundle-entry.js +18 -0
  162. package/dist/project-task-bundle-entry.js.map +1 -0
  163. package/dist/project-task-invocation.d.ts +16 -0
  164. package/dist/project-task-invocation.d.ts.map +1 -0
  165. package/dist/project-task-invocation.js +72 -0
  166. package/dist/project-task-invocation.js.map +1 -0
  167. package/dist/project-task-tool.d.ts +3 -0
  168. package/dist/project-task-tool.d.ts.map +1 -0
  169. package/dist/project-task-tool.js +61 -0
  170. package/dist/project-task-tool.js.map +1 -0
  171. package/dist/project.d.ts +71 -0
  172. package/dist/project.d.ts.map +1 -0
  173. package/dist/project.js +1750 -0
  174. package/dist/project.js.map +1 -0
  175. package/dist/reproduction.d.ts +50 -0
  176. package/dist/reproduction.d.ts.map +1 -0
  177. package/dist/reproduction.js +321 -0
  178. package/dist/reproduction.js.map +1 -0
  179. package/dist/script-language-service.d.ts +82 -0
  180. package/dist/script-language-service.d.ts.map +1 -0
  181. package/dist/script-language-service.js +18 -0
  182. package/dist/script-language-service.js.map +1 -0
  183. package/dist/source-limits.d.ts +5 -0
  184. package/dist/source-limits.d.ts.map +1 -0
  185. package/dist/source-limits.js +19 -0
  186. package/dist/source-limits.js.map +1 -0
  187. package/dist/standalone-build.d.ts +15 -0
  188. package/dist/standalone-build.d.ts.map +1 -0
  189. package/dist/standalone-build.js +76 -0
  190. package/dist/standalone-build.js.map +1 -0
  191. package/dist/standard-modules.d.ts +22 -0
  192. package/dist/standard-modules.d.ts.map +1 -0
  193. package/dist/standard-modules.js +3066 -0
  194. package/dist/standard-modules.js.map +1 -0
  195. package/dist/static-deployment.d.ts +48 -0
  196. package/dist/static-deployment.d.ts.map +1 -0
  197. package/dist/static-deployment.js +142 -0
  198. package/dist/static-deployment.js.map +1 -0
  199. package/dist/test-output.d.ts +20 -0
  200. package/dist/test-output.d.ts.map +1 -0
  201. package/dist/test-output.js +119 -0
  202. package/dist/test-output.js.map +1 -0
  203. package/dist/test-runner.d.ts +13 -0
  204. package/dist/test-runner.d.ts.map +1 -0
  205. package/dist/test-runner.js +226 -0
  206. package/dist/test-runner.js.map +1 -0
  207. package/dist/typescript-declarations.d.ts +20 -0
  208. package/dist/typescript-declarations.d.ts.map +1 -0
  209. package/dist/typescript-declarations.js +1609 -0
  210. package/dist/typescript-declarations.js.map +1 -0
  211. package/dist/uncaught-program-error.d.ts +24 -0
  212. package/dist/uncaught-program-error.d.ts.map +1 -0
  213. package/dist/uncaught-program-error.js +105 -0
  214. package/dist/uncaught-program-error.js.map +1 -0
  215. package/dist/unowned-errors.d.ts +56 -0
  216. package/dist/unowned-errors.d.ts.map +1 -0
  217. package/dist/unowned-errors.js +82 -0
  218. package/dist/unowned-errors.js.map +1 -0
  219. package/dist/version.d.ts +3 -0
  220. package/dist/version.d.ts.map +1 -0
  221. package/dist/version.js +3 -0
  222. package/dist/version.js.map +1 -0
  223. package/dist/workspace-index.d.ts +78 -0
  224. package/dist/workspace-index.d.ts.map +1 -0
  225. package/dist/workspace-index.js +493 -0
  226. package/dist/workspace-index.js.map +1 -0
  227. package/package.json +45 -0
  228. package/skill/ai-skill.md +749 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-server.js","sourceRoot":"","sources":["../src/language-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,OAAO,EACP,6BAA6B,EAC7B,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,yBAAyB,EACzB,gCAAgC,GAMjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,GAMlB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAEL,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,0BAA0B,EAC1B,oCAAoC,EACpC,oCAAoC,EACpC,yBAAyB,EACzB,4BAA4B,EAC5B,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AA+B9B,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AAExD,IAAI,sBAAsB,GAAqB,QAAQ,CAAC;AACxD,IAAI,qBAAqB,GAAkB,IAAI,CAAC;AAChD,IAAI,qBAAqB,GAAkB,IAAI,CAAC;AAChD,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC,MAAM,4BAA4B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACrD,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,kBAAkB,GAAG;IACzB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW;IAChG,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU;CACnE,CAAC;AACX,MAAM,sBAAsB,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAE9E,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAiB;IACnD,CAAC,QAAQ,EAAE,6FAA6F,CAAC;IACzG,CAAC,KAAK,EAAE,kHAAkH,CAAC;IAC3H,CAAC,IAAI,EAAE,2FAA2F,CAAC;IACnG,CAAC,IAAI,EAAE,0GAA0G,CAAC;IAClH,CAAC,aAAa,EAAE,2FAA2F,CAAC;IAC5G,CAAC,MAAM,EAAE,0EAA0E,CAAC;IACpF,CAAC,MAAM,EAAE,uEAAuE,CAAC;IACjF,CAAC,UAAU,EAAE,+EAA+E,CAAC;IAC7F,CAAC,SAAS,EAAE,qFAAqF,CAAC;IAClG,CAAC,UAAU,EAAE,uEAAuE,CAAC;IACrF,CAAC,SAAS,EAAE,sEAAsE,CAAC;IACnF,CAAC,QAAQ,EAAE,2EAA2E,CAAC;IACvF,CAAC,KAAK,EAAE,+DAA+D,CAAC;IACxE,CAAC,OAAO,EAAE,mEAAmE,CAAC;IAC9E,CAAC,KAAK,EAAE,2DAA2D,CAAC;IACpE,CAAC,OAAO,EAAE,sGAAsG,CAAC;IACjH,CAAC,MAAM,EAAE,yGAAyG,CAAC;IACnH,CAAC,OAAO,EAAE,yDAAyD,CAAC;IACpE,CAAC,KAAK,EAAE,sDAAsD,CAAC;IAC/D,CAAC,UAAU,EAAE,6GAA6G,CAAC;IAC3H,CAAC,MAAM,EAAE,gFAAgF,CAAC;CAC3F,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAiB;IACvD,CAAC,QAAQ,EAAE,uDAAuD,CAAC;IACnE,CAAC,QAAQ,EAAE,0GAA0G,CAAC;IACtH,CAAC,MAAM,EAAE,qCAAqC,CAAC;IAC/C,CAAC,SAAS,EAAE,yEAAyE,CAAC;IACtF,CAAC,MAAM,EAAE,sDAAsD,CAAC;IAChE,CAAC,KAAK,EAAE,uEAAuE,CAAC;IAChF,CAAC,QAAQ,EAAE,+EAA+E,CAAC;IAC3F,CAAC,KAAK,EAAE,oEAAoE,CAAC;IAC7E,CAAC,SAAS,EAAE,4DAA4D,CAAC;IACzE,CAAC,UAAU,EAAE,uDAAuD,CAAC;CACtE,CAAC,CAAC;AAEH,2EAA2E;AAC3E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,MAAM,2BAA2B,GAAoC;IACnE,MAAM,EAAE,6EAA6E;IACrF,GAAG,EAAE,sBAAsB;IAC3B,KAAK,EAAE,sBAAsB;IAC7B,MAAM,EAAE,6DAA6D;IACrE,KAAK,EAAE,yDAAyD;CACjE,CAAC;AAEF,MAAM,kCAAkC,GAA2C;IACjF,IAAI,EAAE,gGAAgG;IACtG,OAAO,EAAE,2EAA2E;IACpF,IAAI,EAAE,iGAAiG;IACvG,IAAI,EAAE,4FAA4F;CACnG,CAAC;AAEF,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC;IAC7C,CAAC,mBAAmB,EAAE,gEAAgE,CAAC;IACvF,CAAC,YAAY,EAAE,mDAAmD,CAAC;IACnE,CAAC,aAAa,EAAE,8DAA8D,CAAC;IAC/E,CAAC,WAAW,EAAE,mDAAmD,CAAC;IAClE,CAAC,YAAY,EAAE,2DAA2D,CAAC;IAC3E,CAAC,UAAU,EAAE,4CAA4C,CAAC;IAC1D,CAAC,WAAW,EAAE,sEAAsE,CAAC;IACrF,CAAC,YAAY,EAAE,uDAAuD,CAAC;CACxE,CAAC,CAAC;AAEH,SAAS,yBAAyB;IAChC,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,8BAA8B,CAAC;SACvC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,gCAAgC,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;SACrH,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG;IAC1B,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtG,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,kCAAkC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpH,GAAG,yBAAyB,EAAE;CAC/B,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,OAA6B;IAC9D,IAAI,CAAC,OAAO;QAAE,OAAO,mBAAmB,CAAC;IACzC,OAAO;QACL,GAAG,mBAAmB;QACtB,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YACnD,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;YACxC,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;SACpH,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAA6B,EAC7B,IAAkD,EAClD,IAAY;IAEZ,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,CAAC;QAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,aAAa;YAAE,OAAO,aAAa,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,sBAAsB,GAAG,QAAQ,CAAC;IAClC,qBAAqB,GAAG,uBAAuB,EAAE,CAAC;IAClD,MAAM,mBAAmB,GAAG,uBAAuB,EAAE,IAAI,qBAAqB,CAAC;IAC/E,qBAAqB,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,yBAAyB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1G,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAClD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAyB,IAAI,CAAC;IAChD,IAAI,kBAAkB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1D,IAAI,qBAAqB,GAAkB,IAAI,CAAC;IAChD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,MAAM,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5E,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAQ,EAAE;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,OAAkC,CAAC;QACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,6DAA6D,EAAE,EAAE;YAC3I,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,iCAAiC;gBAClD,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC5C,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,YAAY,EAAE,CAAC,CAAC;IAC5G,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAwB,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5F,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC,CAAC;IACJ,MAAM,UAAU,GAAG,KAAK,EAAE,QAAsB,EAAiC,EAAE;QACjF,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACvE,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,SAAgD,EAAmC,EAAE;QAChH,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAC9B,GAAG,EAAE,GAAG,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAAC,EACvC,CAAC,KAAK,EAAE,EAAE,GAAG,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAChE,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAAoB,EAAiB,EAAE;QAC1E,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,EAAE,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAAE,MAAM,IAAI,4BAA4B,EAAE,CAAC;YACxG,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAChC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,OAAO,CAAO,CAAC,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAC9D,CAAC,CAAC;YACH,IAAI,OAAO,IAAI,IAAI,KAAK,kBAAkB;gBAAE,MAAM;QACpD,CAAC;QACD,IAAI,qBAAqB;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,qBAAqB,EAAE,CAAC,CAAC;IACtG,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EAAE,QAAsB,EAAiB,EAAE;QAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC7D,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,iCAAiC;gBACzC,MAAM,EAAE;oBACN,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,WAAW,EAAE,wBAAwB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;iBACxE;aACF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,WAAW,GAA0B,EAAE,CAAC;QAC5C,IAAI,OAAO,GAAsB,EAAE,CAAC;QACpC,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;gBACxE,IAAI,MAAM,EAAE,CAAC;oBACX,WAAW,GAAG;wBACZ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW;wBAC5B,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;6BACzB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;6BAC1C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;qBACjG,CAAC;oBACF,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC5G,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChD,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;oBACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC9D,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9D,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAClG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,QAAQ,CAAC,OAAO;YAAE,OAAO;QACtE,IAAI,CAAC;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,iCAAiC;YACzC,MAAM,EAAE;gBACN,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,WAAW,EAAE,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;aAC9D;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,GAAW,EAAQ,EAAE;QAC5C,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,cAAc;YAAE,OAAO;QAC3B,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;aACnE,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,OAAO,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;gBACjC,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvB,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC3C,IAAI,QAAQ;wBAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,cAAc,GAAG,IAAI,CAAC;YACtB,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC;gBAAE,eAAe,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,KAAK,EAAE,YAAwC,EAAiB,EAAE;QACjG,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAChD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY;gBAAE,SAAS;YAC5B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,IAAI,YAAY;gBAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;;gBACjF,MAAM,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAC/D,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE;YAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,EAAoB,EAAW,EAAE;QACtD,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACnC,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3B,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,EAAoB,EAAE,MAAe,EAAQ,EAAE;QAC9D,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAChG,OAAO;QACT,CAAC;QACD,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,EAAoB,EAAE,OAAe,EAAE,IAAI,GAAG,CAAC,KAAK,EAAQ,EAAE;QAClF,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAChG,OAAO;QACT,CAAC;QACD,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,EAAE,OAAmB,EAAiB,EAAE;QAC1D,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9E,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAI,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;gBAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,8CAA8C,EAAE,CAAC,KAAK,CAAC,CAAC;YAC/G,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAA6C,CAAC;QACrE,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,YAAY;gBACf,sBAAsB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC;oBACH,cAAc,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC1D,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;oBAClB,YAAY,EAAE;wBACZ,gBAAgB,EAAE,sBAAsB;wBACxC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;wBAC7E,kBAAkB,EAAE,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;wBACzE,aAAa,EAAE,IAAI;wBACnB,0BAA0B,EAAE,IAAI;wBAChC,kBAAkB,EAAE,IAAI;wBACxB,kBAAkB,EAAE,IAAI;wBACxB,yBAAyB,EAAE,IAAI;wBAC/B,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;wBACzC,sBAAsB,EAAE,IAAI;wBAC5B,uBAAuB,EAAE,IAAI;wBAC7B,qBAAqB,EAAE,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;wBACxD,iBAAiB,EAAE,IAAI;wBACvB,sBAAsB,EAAE;4BACtB,MAAM,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,EAAE;4BAClF,IAAI,EAAE,IAAI;yBACX;wBACD,kBAAkB,EAAE,EAAE,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE;wBACrD,YAAY,EAAE;4BACZ,KAAK,EAAE;gCACL,eAAe,EAAE,sCAAsC;gCACvD,mBAAmB,EAAE,IAAI;gCACzB,YAAY,EAAE,IAAI;gCAClB,eAAe,EAAE,IAAI;gCACrB,YAAY,EAAE,IAAI;gCAClB,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;gCAC7C,oBAAoB,EAAE,aAAa;gCACnC,uBAAuB,EAAE,IAAI;gCAC7B,eAAe,EAAE,IAAI;gCACrB,uBAAuB,EAAE,yBAAyB;gCAClD,sBAAsB,EAAE,wBAAwB;gCAChD,0BAA0B,EAAE,4BAA4B;gCACxD,uBAAuB,EAAE,0BAA0B;gCACnD,+BAA+B,EAAE,oCAAoC;gCACrE,+BAA+B,EAAE,oCAAoC;gCACrE,cAAc,EAAE,IAAI;gCACpB,uBAAuB,EAAE,yBAAyB;gCAClD,uBAAuB,EAAE,yBAAyB;gCAClD,iBAAiB,EAAE,IAAI;gCACvB,8BAA8B,EAAE,4BAA4B;6BAC7D;yBACF;qBACF;oBACD,UAAU,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,aAAa,EAAE;iBAC5E,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,aAAa;gBAChB,KAAK,mBAAmB,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACjE,+FAA+F;gBACjG,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,UAAU;gBACb,YAAY,GAAG,IAAI,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,EAAE,CAAC;gBACT,MAAM;YACR,KAAK,iBAAiB;gBACpB,MAAM;YACR,KAAK,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAM,EAAE,YAA4B,CAAC;gBACnD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9D,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,sDAAsD,EAAE,EAAE,CAAC,CAAC;oBAC5I,MAAM;gBACR,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChC,IAAI,IAAI;oBAAE,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC9E,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,4BAA4B,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChG,IAAI,MAAM;oBAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnD,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpB,IAAI,CAAC;wBAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBAAC,CAAC;oBACnD,MAAM,CAAC,CAAC,yEAAyE,CAAC,CAAC;gBACrF,CAAC;gBACD,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM;YACR,CAAC;YACD,KAAK,wBAAwB,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAqD,CAAC;gBACjF,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;oBAAE,MAAM;gBAC1G,MAAM,OAAO,GAAG,MAAM,EAAE,cAA0C,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,MAAM;gBACnC,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC3G,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,QAAQ;oBAAE,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrE,IAAI,MAAM,IAAI,IAAI;oBAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;YACD,KAAK,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,OAAO;oBAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM;YACR,CAAC;YACD,KAAK,uBAAuB,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,IAAI;oBAAE,MAAM,mBAAmB,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9E,IAAI,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtH,MAAM;YACR,CAAC;YACD,KAAK,iCAAiC,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,EAAE,OAA4D,CAAC;gBACrF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,MAAM;gBACnC,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,0BAA0B,CAAC;gBAC/D,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,CAAC;wBACxB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,oCAAoC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;4BAC1F,YAAY,GAAG,IAAI,CAAC;4BACpB,MAAM;wBACR,CAAC;wBACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;wBAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,oCAAoC,EAAE,CAAC;4BACtE,YAAY,GAAG,IAAI,CAAC;4BACpB,MAAM;wBACR,CAAC;wBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC7B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;4BAC5B,IAAI,SAAS,GAAG,oCAAoC,EAAE,CAAC;gCACrD,YAAY,GAAG,IAAI,CAAC;gCACpB,MAAM;4BACR,CAAC;4BACD,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,qFAAqF,EAAE,EAAE,CAAC,CAAC;oBAC3K,MAAM,mBAAmB,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;oBACzD,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;oBACrC,MAAM;gBACR,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;gBACvC,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtC,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBACrE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;oBACpC,IAAI,IAAI;wBAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;yBAC5B,IAAI,qBAAqB,IAAI,qBAAqB,EAAE,CAAC;wBACxD,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,0DAA0D,EAAE,EAAE,CAAC,CAAC;oBAClJ,CAAC;gBACH,CAAC;gBACD,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC;oBAAE,MAAM;gBACnC,MAAM,mBAAmB,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;gBACrE,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM;YACR,CAAC;YACD,KAAK,uBAAuB,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CACpE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAChF,CAAC,CAAC;gBACH,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;oBAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC5D,MAAM;YACR,CAAC;YACD,KAAK,uBAAuB,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;gBAC5B,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC;gBAC5C,MAAM,cAAc,GAAG,MAAM,EAAE,cAAc,CAAC;gBAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ;uBACxB,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,SAAS,CAAC;uBACnE,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,cAAc,KAAK,QAAQ,CAAC,EAAE,CAAC;oBAC1E,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,6GAA6G,EAAE,CAAC,KAAK,CAAC,CAAC;oBAChJ,MAAM;gBACR,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK;uBACzC,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC;2BACrE,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,4BAA4B,CAAC,CAAC,EAAE,CAAC;oBAC7E,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,kIAAkI,4BAA4B,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBACnM,MAAM;gBACR,CAAC;gBACD,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE;oBAChD,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;oBACzD,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;oBAC3D,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBAC3F,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;oBAClB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACpC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI;wBACnC,KAAK,EAAE;4BACL,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;4BACrC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC;yBAClC;wBACD,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB,CAAC,CAAC;oBACH,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;iBAC1C,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAqD,CAAC;gBACjF,MAAM,qBAAqB,GAAG,MAAM,EAAE,OAAO,CAAC;gBAC9C,MAAM,iBAAiB,GAAG,MAAM,EAAE,YAAY,CAAC;gBAC/C,MAAM,iBAAiB,GAAG,MAAM,EAAE,YAAY,CAAC;gBAC/C,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ;uBAChD,CAAC,qBAAqB,KAAK,SAAS,IAAI,CAAC,OAAO,qBAAqB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC;uBACpI,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;uBACxH,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9H,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,6GAA6G,EAAE,CAAC,KAAK,CAAC,CAAC;oBAChJ,MAAM;gBACR,CAAC;gBACD,MAAM,gBAAgB,GAAG,qBAA2C,CAAC;gBACrE,MAAM,YAAY,GAAG,iBAAuC,CAAC;gBAC7D,MAAM,YAAY,GAAG,iBAAuC,CAAC;gBAC7D,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,yBAAyB,CAAC,CAAC;uBAC7F,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC;oBACpG,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,sCAAsC,yBAAyB,iBAAiB,yBAAyB,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;oBACpJ,MAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrD,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,4DAA4D,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC/F,MAAM;gBACR,CAAC;gBACD,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC5E,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,oBAAoB,gBAAgB,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC9F,MAAM;gBACR,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,sDAAsD,CAAC,CAAC;oBACjF,MAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE;oBAC/C,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;oBACvD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;oBACvD,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBAC3F,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;oBAClB,eAAe,EAAE,CAAC;oBAClB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI;oBAChD,QAAQ,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;oBAC5D,eAAe,EAAE,aAAa;oBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAChC,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtD,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACnE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;wBAChE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC5H,CAAC,CAAC;oBACH,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAChC,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACrI,CAAC,CAAC;oBACH,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAqD,CAAC;gBACjF,MAAM,qBAAqB,GAAG,MAAM,EAAE,OAAO,CAAC;gBAC9C,MAAM,iBAAiB,GAAG,MAAM,EAAE,YAAY,CAAC;gBAC/C,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ;uBAChD,CAAC,qBAAqB,KAAK,SAAS,IAAI,CAAC,OAAO,qBAAqB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC;uBACpI,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9H,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,iGAAiG,EAAE,CAAC,KAAK,CAAC,CAAC;oBACpI,MAAM;gBACR,CAAC;gBACD,MAAM,gBAAgB,GAAG,qBAA2C,CAAC;gBACrE,MAAM,YAAY,GAAG,iBAAuC,CAAC;gBAC7D,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,4BAA4B,CAAC,EAAE,CAAC;oBACpG,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,0DAA0D,4BAA4B,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC3H,MAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrD,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,+DAA+D,EAAE,CAAC,KAAK,CAAC,CAAC;oBAClG,MAAM;gBACR,CAAC;gBACD,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC5E,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,oBAAoB,gBAAgB,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC9F,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChG,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,6DAA6D,CAAC,CAAC;oBACxF,MAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,YAAY,IAAI,4BAA4B,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC1C,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;oBAClB,eAAe,EAAE,CAAC;oBAClB,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,eAAe,EAAE,aAAa;oBAC9B,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC;oBACzC,UAAU,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;oBACvD,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;oBAChE,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;oBACjC,cAAc,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;oBACtC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK;oBAC7E,WAAW,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;iBACrF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,kBAAkB,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;gBAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,0CAA0C,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC7E,MAAM;gBACR,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;oBACzB,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,6DAA6D,EAAE,CAAC,KAAK,CAAC,CAAC;oBAChG,MAAM;gBACR,CAAC;gBACD,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;gBAClD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1C,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAChD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACpB,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;wBACrE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACvD,CAAC;oBAAC,MAAM,CAAC;wBACP,4GAA4G;oBAC9G,CAAC;gBACH,CAAC;gBACD,IAAI,iBAAiB,GAAG,CAAC,CAAC;gBAC1B,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChD,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBAAE,MAAM,IAAI,4BAA4B,EAAE,CAAC;oBACxH,iBAAiB,IAAI,CAAC,CAAC;oBACvB,IAAI,iBAAiB,GAAG,GAAG,KAAK,CAAC;wBAAE,MAAM,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;wBACrE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACrD,IAAI,QAAQ,CAAC,IAAI,GAAG,EAAE;4BAAE,MAAM,IAAI,UAAU,CAAC,qEAAqE,CAAC,CAAC;oBACtH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,KAAK,YAAY,UAAU,IAAI,yCAAyC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;4BAAE,MAAM,KAAK,CAAC;wBAC9G,yGAAyG;oBAC3G,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,GAAc,EAAE,CAAC;gBAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;oBACxC,MAAM,SAAS,GAAG,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;oBACxD,IAAI,SAAS,KAAK,CAAC;wBAAE,MAAM;oBAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBAChF,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC9B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC;wBAC3D,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;wBACjE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtF,CAAC,CAAC,CAAC,CAAC;gBACT,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC7B,MAAM;YACR,CAAC;YACD,KAAK,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAoB,CAAC;gBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACxH,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;wBAC9B,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;wBAClC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;qBACjC,CAAC,CAAC,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBACpD,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChG,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC3E,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC9B,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC;oBAC3D,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;oBAChC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/G,CAAC,CAAC,CAAC;gBACJ,MAAM,iBAAiB,GAAG,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBACvH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxE,MAAM,KAAK,GAAG,iBAAiB,KAAK,UAAU;oBAC5C,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBACxI,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpD,MAAM;YACR,CAAC;YACD,KAAK,oBAAoB,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAoB,CAAC;gBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACvE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;wBAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;wBAChF,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;qBAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACV,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnG,MAAM;YACR,CAAC;YACD,KAAK,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAoB,CAAC;gBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC9E,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5G,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5H,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrG,MAAM;YACR,CAAC;YACD,KAAK,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAoB,CAAC;gBAC9C,MAAM,OAAO,GAAG,MAAM,EAAE,OAAgE,CAAC;gBACzF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,kBAAkB,IAAI,KAAK,CAAC;yBACjH,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;yBAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrF,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,MAAM,SAAS,GAAG,QAAQ,IAAI,IAAI,IAAI,OAAO;oBAC3C,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,kBAAkB,IAAI,KAAK,CAAC;yBACxG,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;oBACnC,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpH,MAAM;YACR,CAAC;YACD,KAAK,gCAAgC,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAoB,CAAC;gBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;yBACjF,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;yBAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,MAAM,SAAS,GAAG,QAAQ,IAAI,IAAI,IAAI,OAAO;oBAC3C,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;yBACxE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC;yBAC5C,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;oBACnC,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACjE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;oBACxD,IAAI,EAAE,CAAC;iBACR,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACV,MAAM;YACR,CAAC;YACD,KAAK,4BAA4B,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAoB,CAAC;gBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACxE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC7G,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC/H,MAAM,SAAS,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9J,MAAM;YACR,CAAC;YACD,KAAK,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAoB,CAAC;gBAC9C,MAAM,OAAO,GAAG,MAAM,EAAE,OAAiB,CAAC;gBAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClF,IAAI,OAAO,CAAC,KAAK;wBAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;yBACtD,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,oBAAoB;wBAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,4BAA4B,oBAAoB,YAAY,CAAC,CAAC;;wBACxI,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;4BACvB,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;yBACrI,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,MAAM,OAAO,GAAG,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,mDAAmD,CAAC;gBAC/K,IAAI,OAAO,OAAO,KAAK,QAAQ;oBAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;qBAC9D,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,oBAAoB;oBAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,4BAA4B,oBAAoB,YAAY,CAAC,CAAC;;oBACxI,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1F,MAAM;YACR,CAAC;YACD,KAAK,6BAA6B,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBAC5F,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC9B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;wBAChC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;wBACzC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;qBACnD,CAAC,CAAC,CAAC,CAAC;oBACL,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC1H,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC9B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC;oBAC3D,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;oBAC7D,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC;iBAChF,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACV,MAAM;YACR,CAAC;YACD,KAAK,4BAA4B,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAoB,CAAC;gBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC1B,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,MAAM,SAAS,GAAG,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5H,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC9B,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrD,eAAe,EAAE,CAAC;oBAClB,eAAe,EAAE,SAAS,CAAC,eAAe;iBAC3C,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACV,MAAM;YACR,CAAC;YACD,KAAK,wBAAwB,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,KAAK,GAAG,MAAM,EAAE,KAA0B,CAAC;gBACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACxB,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/G,MAAM;YACR,CAAC;YACD,KAAK,kCAAkC,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;oBACzF,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,MAAM,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1G,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1G,MAAM;YACR,CAAC;YACD,KAAK,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,OAAO,GAAG,MAAM,EAAE,OAAuG,CAAC;gBAChI,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACxB,MAAM;gBACR,CAAC;gBACD,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC3H,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,UAAU,GAAG,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnF,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,IAAI,eAAe;oBAC7C,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;oBACxJ,CAAC,CAAC,EAAE,CAAC,CAAC;gBACR,MAAM;YACR,CAAC;YACD,KAAK,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,EAAE,YAAyC,CAAC;gBACrE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACxB,MAAM;gBACR,CAAC;gBACD,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACxB,MAAM;gBACR,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjG,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBAClH,MAAM;YACR,CAAC;YACD;gBACE,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;oBAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,qBAAqB,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAChH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACxC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,MAAM;YAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,qCAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,sDAAsD,EAAE,EAAE,CAAC,CAAC;gBAC7H,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,qBAAqB,EAAE,CAAC;gBAChE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gDAAgD,EAAE,EAAE,CAAC,CAAC;gBACvH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC;YAChC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG;gBAAE,MAAM;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAClC,MAAM,CAAC;gBACL,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC;gBACpG,SAAS;YACX,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBAC5F,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC;YACvB,IAAI,OAAO,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAI,OAAO,CAAC,MAAgD,EAAE,EAAE,CAAC;gBAC/E,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACrH,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACjC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBACpC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxD,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;oBAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IACxG,MAAM,KAAK,CAAC;IACZ,IAAI,cAAc;QAAE,MAAM,cAAc,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,EAA0B;IAC5C,OAAO,GAAG,OAAO,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClF,OAAO,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;WACnF,CAAC,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC;AACnG,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAkB,EAClB,WAAkC,EAClC,OAA0B;IAE1B,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,MAAM,IAAI,oBAAoB;YAAE,MAAM;QACjD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,IAAI,oBAAoB;YAAE,MAAM;QACjD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,IAAI,oBAAoB;YAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,iCAAiC,oBAAoB,QAAQ,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY,EAAE,QAAwB;IACtE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7F,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC;IACxH,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACrD,KAAK,EAAE,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;QAC1E,QAAQ,EAAE,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;KACzC,CAAC,CAAC,CAAC;IACJ,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,IAAI,oBAAoB;YAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC9F,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,wCAAwC,oBAAoB,QAAQ;SAC9E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAe;IACnD,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1E,CAAC,CAAC,MAAiC;QACnC,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,iCAAiC;QACzC,MAAM,EAAE;YACN,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACnD,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,WAAW,EAAE,CAAC;oBACZ,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;oBAC3E,QAAQ,EAAE,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,iEAAiE;iBAC3E,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB,EAAE,IAAgB;IACzD,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,OAAO;QACL,KAAK,EAAE;YACL,KAAK;YACL,GAAG;SACJ;QACD,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAkB,EAAE,OAAe;IACpD,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,OAAO;QACL,KAAK,EAAE;YACL,KAAK;YACL,GAAG;SACJ;QACD,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,QAAsB,EAAE,QAAkB,EAAE,OAA6B;IAC5F,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAClG,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,WAAW,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,OAAO,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;IAChI,CAAC;IACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAChH,IAAI,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW,OAAO,EAAE,EAAE,EAAE,CAAC;IAC/F,MAAM,UAAU,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,IAAI,UAAU,EAAE,UAAU,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,WAAW,IAAI,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,OAAO,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;IACvJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,OAAO,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;IAChI,CAAC;IACD,MAAM,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACrH,IAAI,WAAW;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW,WAAW,EAAE,EAAE,EAAE,CAAC;IACvG,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,OAAsB,EAAE,IAAY,EAAE,IAAU;IACnE,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,SAAS,QAAQ,CAAC,MAAkB,EAAE,IAAU;IAC9C,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,SAAS,CAAC,OAAsB,EAAE,IAAY;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB,EAAE,KAA+F,EAAE,OAAe;IAC7J,MAAM,OAAO,GAA6D,EAAE,CAAC;IAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC,CAAC;IAClI,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAkB,EAAE,MAAuC;IACpF,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;YAAE,SAAS;QAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,GAAG,YAAY,CAAC;QACtC,MAAM,cAAc,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC;YAAE,SAAS;QACnE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC1D,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;QAChD,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5F,YAAY,GAAG,IAAI,CAAC;QACpB,iBAAiB,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,QAAwB;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,YAAY,GAAG,IAAI,GAAG,CAA4C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACrJ,MAAM,UAAU,GAAG,IAAI,GAAG,CAA+C,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrK,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAU,CAAC,CAAC,CAAC;IACxF,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjG,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,KAAK,GAAG,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1E,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS;YAAE,SAAS;QAClG,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;QAClD,MAAM,cAAc,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QAC3G,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC;YAAE,SAAS;QACnE,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;cACpF,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/H,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACxG,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAChC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAsB;IACtD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,EAAE,OAAO,OAAO,CAAC;QAC7B,KAAK,WAAW,EAAE,OAAO,WAAW,CAAC;QACrC,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC;QAC3B,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC;QAC3B,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC;QACnC,KAAK,WAAW,EAAE,OAAO,WAAW,CAAC;QACrC,SAAS,OAAO,UAAU,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAA8C;IAC5E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,EAAE,OAAO,SAAS,CAAC;QACjC,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,EAAE,OAAO,QAAQ,CAAC;QACjC,KAAK,SAAS,EAAE,OAAO,SAAS,CAAC;QACjC,KAAK,QAAQ,EAAE,OAAO,QAAQ,CAAC;QAC/B,KAAK,QAAQ,EAAE,OAAO,QAAQ,CAAC;QAC/B,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC;QACnC,KAAK,YAAY,EAAE,OAAO,UAAU,CAAC;QACrC,SAAS,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,QAAsB,EAAE,MAA4B,EAAE,WAA+B;IACvG,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW;SACzC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAI,EAAE,CAAC,CAAC,CAAC;IAC3H,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1E,MAAM,UAAU,GAAG,KAA8D,CAAC;QAClF,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS;QAC3G,MAAM,KAAK,GAAG,UAAU,CAAC,KAAc,CAAC;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;YACtB,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC5G;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAkB,EAAE,IAAU;IAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7I,CAAC;AAED,SAAS,YAAY,CAAC,IAAW,EAAE,KAAY;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,SAAS;WAC1F,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;AACxF,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAsB,EAAE,IAAY,EAAE,IAAY,EAAE,KAAa;IAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAC5D,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,IAAI,oBAAoB;YAAE,MAAM;QAChD,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI;YAAE,SAAS;QAClF,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,GAAG;YAAE,SAAS;QACjF,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACjI,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,KAAK,MAAM,CAAC,IAAI,EAAE;YACzB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,EAAE,CAAC;IAClD,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAAE,OAAO,EAAE,CAAC;IACtD,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;QAAE,OAAO,EAAE,CAAC;IACjG,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,EAAE,OAAO,CAAC,CAAC;QACvB,KAAK,WAAW,EAAE,OAAO,EAAE,CAAC;QAC5B,KAAK,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxB,KAAK,OAAO,EAAE,OAAO,CAAC,CAAC;QACvB,KAAK,MAAM,EAAE,OAAO,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,OAAO,EAAE,CAAC;QACvB,KAAK,aAAa,EAAE,OAAO,EAAE,CAAC;QAC9B,KAAK,UAAU,EAAE,OAAO,EAAE,CAAC;QAC3B,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,SAAS,OAAO,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAAE,OAAO,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;QAAE,OAAO,CAAC,CAAC;IAChG,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,CAAC,CAAC;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxB,KAAK,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1B,KAAK,OAAO,EAAE,OAAO,CAAC,CAAC;QACvB,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxB,KAAK,OAAO,EAAE,OAAO,CAAC,CAAC;QACvB,KAAK,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3B,KAAK,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1B,KAAK,MAAM,EAAE,OAAO,CAAC,CAAC;QACtB,KAAK,MAAM,EAAE,OAAO,EAAE,CAAC;QACvB,KAAK,aAAa,EAAE,OAAO,EAAE,CAAC;QAC9B,SAAS,OAAO,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC,CAAC,qBAAqB,IAAI,mBAAmB,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5G,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QAAC,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC5F,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,CAAC;QACH,OAAO,MAAM,gCAAgC,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,OAAiC;IAC1E,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;aACnC,CAAC;YACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,IAAY;IACpD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,CAAC,CAAC;IACvE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,KAAK,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;QAAE,MAAM,IAAI,CAAC,CAAC;IACvH,OAAO;QACL,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM;QAC3B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAkB;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC;QAC9E,CAAC,CAAC,QAAQ,CAAC,IAAI;QACf,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,kBAAkB,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC;QAC7F,CAAC,CAAC,QAAQ,CAAC,SAAS;QACpB,CAAC,CAAC,CAAC,CAAC;IACN,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,sBAAsB,KAAK,QAAQ;QACxC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;QAC5C,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,QAAkB;IACtD,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAgB;IACjD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAwC,EAAE,KAAa,EAAE,GAAW;IACpG,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC3F,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,OAA0B;IACjE,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IACjH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,KAAK,MAAM,eAAe,IAAI,SAAS,EAAE,CAAC;QACxC,OAAO,SAAS,GAAG,eAAe,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAE,CAAC;YAClC,QAAQ,IAAI,KAAK,CAAC;YAClB,SAAS,IAAI,CAAC,CAAC;YACf,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,qBAAqB,GAAG,KAAK,CAAC;gBAC9B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvB,IAAI,IAAI,CAAC,CAAC;oBACV,YAAY,GAAG,QAAQ,CAAC;oBACxB,aAAa,GAAG,SAAS,CAAC;oBAC1B,SAAS;gBACX,CAAC;YACH,CAAC;YACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI;oBAAE,qBAAqB,GAAG,IAAI,CAAC;qBACrD,CAAC;oBACJ,IAAI,IAAI,CAAC,CAAC;oBACV,YAAY,GAAG,QAAQ,CAAC;oBACxB,aAAa,GAAG,SAAS,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,CAAC;gBACV,YAAY,GAAG,QAAQ,CAAC;gBACxB,aAAa,GAAG,SAAS,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE;YAC1B,IAAI;YACJ,SAAS,EAAE,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,GAAG,aAAa;SACzG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,eAAuB;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IACnE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YAClE,IAAI,QAAQ,GAAG,MAAM;gBAAE,MAAM;YAC7B,IAAI,IAAI,CAAC,CAAC;YACV,SAAS,GAAG,QAAQ,CAAC;YACrB,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,CAAC;YACV,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;AACjI,CAAC;AAED,SAAS,yBAAyB,CAAC,MAA2C;IAC5E,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,CAAC;IAC1C,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtG,MAAM,OAAO,GAAI,YAAwC,CAAC,OAAO,CAAC;IAClE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvF,MAAM,SAAS,GAAI,OAAmC,CAAC,iBAAiB,CAAC;IACzE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxF,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA2C;IAC1E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,EAAE,gBAAgB,CAAC;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC7E,MAAM,GAAG,GAAI,MAAkC,CAAC,GAAG,CAAC;YACpD,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,SAAS;YACtC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtH,IAAI,qBAAqB,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,qBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,UAAU,CAAC,kEAAkE,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC;IAC/D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC;IAC/D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,IAAY;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgC;IACzD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc;KACnG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAO,MAAoB,EAAE,WAAmB,EAAE,SAAmC;IAC5G,MAAM,OAAO,GAAG,IAAI,KAAK,CAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACtF,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC;YACrB,MAAM,IAAI,CAAC,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAkB,EAAE,MAAc;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;KAC/G,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;IAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAE,SAAiB;IACnF,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,IAAI,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAa;IAChD,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,MAAc;IAC1C,IAAI,KAAK,GAAG,MAAM,CAAC;IACnB,IAAI,GAAG,GAAG,MAAM,CAAC;IACjB,OAAO,KAAK,GAAG,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACzE,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC;QAAE,GAAG,IAAI,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAClF,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { VelarProjectConfig } from "./config.ts";
2
+ export interface MechanicalFixReport {
3
+ /** One line per applied rewrite, in source order, already display-formatted. */
4
+ readonly changes: readonly string[];
5
+ readonly changedFiles: readonly string[];
6
+ readonly remainingDiagnostics: readonly string[];
7
+ /**
8
+ * D51 item NEW-D8: files this run could not write. A failed write used to
9
+ * throw out of the whole command, so the rewrites that had already landed on
10
+ * disk were never reported — the author was left with a modified tree, exit
11
+ * 1, and no summary of what changed.
12
+ */
13
+ readonly writeFailures: readonly string[];
14
+ readonly passes: number;
15
+ }
16
+ /**
17
+ * D38 §48: the `velar fix` engine. It applies every rewrite the compile itself
18
+ * named — nothing more — then recompiles, because one rewrite can let a later
19
+ * stage run and report its own mechanical guidance in turn. It stops when a
20
+ * pass changes nothing, which is exactly what makes a second `velar fix` a
21
+ * no-op.
22
+ */
23
+ export declare function applyProjectMechanicalFixes(config: VelarProjectConfig, displayPath: (path: string) => string, maximumPasses?: number,
24
+ /**
25
+ * D51 (audit 12): extra roots the module graph does not reach — `*.test.vel`
26
+ * modules nobody imports. A test module is source the author owns, so `fix`
27
+ * rewrites it on the same terms as every other module.
28
+ */
29
+ additionalEntries?: readonly string[]): Promise<MechanicalFixReport>;
30
+ //# sourceMappingURL=mechanical-fixer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mechanical-fixer.d.ts","sourceRoot":"","sources":["../src/mechanical-fixer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,aAAa,SAAI;AACjB;;;;GAIG;AACH,iBAAiB,GAAE,SAAS,MAAM,EAAO,GACxC,OAAO,CAAC,mBAAmB,CAAC,CA8E9B"}
@@ -0,0 +1,103 @@
1
+ import { writeFile } from "node:fs/promises";
2
+ import { applyMechanicalFixes, formatDiagnostic } from "@velarscript/compiler";
3
+ import { hostErrorMessage } from "./host-error.js";
4
+ import { compileProject } from "./project.js";
5
+ /**
6
+ * D38 §48: the `velar fix` engine. It applies every rewrite the compile itself
7
+ * named — nothing more — then recompiles, because one rewrite can let a later
8
+ * stage run and report its own mechanical guidance in turn. It stops when a
9
+ * pass changes nothing, which is exactly what makes a second `velar fix` a
10
+ * no-op.
11
+ */
12
+ export async function applyProjectMechanicalFixes(config, displayPath, maximumPasses = 8,
13
+ /**
14
+ * D51 (audit 12): extra roots the module graph does not reach — `*.test.vel`
15
+ * modules nobody imports. A test module is source the author owns, so `fix`
16
+ * rewrites it on the same terms as every other module.
17
+ */
18
+ additionalEntries = []) {
19
+ const changes = [];
20
+ const changedFiles = new Set();
21
+ const entries = [config.entryPath, ...additionalEntries];
22
+ const compile = async () => {
23
+ const results = [];
24
+ for (const entry of entries) {
25
+ results.push(await compileProject(entry, new Map(), {
26
+ sourceRoot: config.root,
27
+ projectRoot: config.root,
28
+ publicRoot: config.publicDir,
29
+ extensions: config.compilerExtensions,
30
+ extensionConfig: config.extensionConfig,
31
+ framework: config.framework,
32
+ ...(entry === config.entryPath ? {} : { exportTestFunctions: true }),
33
+ }));
34
+ }
35
+ return results;
36
+ };
37
+ const writeFailures = [];
38
+ let projects = null;
39
+ let passes = 0;
40
+ let pending = false;
41
+ while (passes < maximumPasses) {
42
+ projects = await compile();
43
+ passes += 1;
44
+ const writes = [];
45
+ const visited = new Set();
46
+ for (const module of projects.flatMap((result) => result.modules)) {
47
+ if (visited.has(module.inputPath))
48
+ continue;
49
+ visited.add(module.inputPath);
50
+ const source = module.result.source;
51
+ const result = applyMechanicalFixes(source.text, module.result.diagnostics);
52
+ if (result.applied.length === 0)
53
+ continue;
54
+ const lines = result.applied.map((fix) => {
55
+ const location = source.location(fix.offset);
56
+ return `${displayPath(module.inputPath)}:${location.line}:${location.column} fixed ${fix.code}: ${fix.title}`;
57
+ });
58
+ writes.push({ path: module.inputPath, lines, write: writeFile(module.inputPath, result.text, "utf8") });
59
+ }
60
+ pending = writes.length > 0;
61
+ if (!pending)
62
+ break;
63
+ // Every write is awaited, and each one is reported on its own terms: the
64
+ // files that landed are named in the summary, and the ones that did not are
65
+ // named as failures. One failed write can no longer hide the rewrites that
66
+ // already changed the author's tree.
67
+ const settled = await Promise.allSettled(writes.map((entry) => entry.write));
68
+ for (let index = 0; index < writes.length; index += 1) {
69
+ const entry = writes[index];
70
+ if (settled[index].status === "fulfilled") {
71
+ changedFiles.add(entry.path);
72
+ changes.push(...entry.lines);
73
+ }
74
+ else {
75
+ writeFailures.push(`${displayPath(entry.path)}: ${hostErrorMessage(settled[index].reason)}`);
76
+ }
77
+ }
78
+ if (writeFailures.length > 0)
79
+ break;
80
+ }
81
+ // The pass cap is a termination guard, never a reporting shortcut: what the
82
+ // command reports as remaining is always the state of the files on disk.
83
+ if (pending)
84
+ projects = await compile();
85
+ const reported = new Set();
86
+ const remaining = [];
87
+ for (const result of projects ?? []) {
88
+ for (const failure of result.failures) {
89
+ const line = `${failure.path}: ${failure.message}`;
90
+ if (!reported.has(line))
91
+ remaining.push(line);
92
+ reported.add(line);
93
+ }
94
+ for (const module of result.modules) {
95
+ if (reported.has(module.inputPath))
96
+ continue;
97
+ reported.add(module.inputPath);
98
+ remaining.push(...module.result.diagnostics.map((item) => formatDiagnostic(module.result.source, item)));
99
+ }
100
+ }
101
+ return { changes, changedFiles: [...changedFiles].sort(), remainingDiagnostics: remaining, writeFailures, passes };
102
+ }
103
+ //# sourceMappingURL=mechanical-fixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mechanical-fixer.js","sourceRoot":"","sources":["../src/mechanical-fixer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type ProjectResult } from "./project.ts";
2
+ export declare function moduleOutput(project: ProjectResult, pathname: string, revision?: string | null): {
3
+ readonly body: string;
4
+ readonly contentType: string;
5
+ } | null;
6
+ export declare function publicAsset(publicRoot: string, pathname: string): Promise<{
7
+ readonly path: string;
8
+ readonly sizeBytes: number;
9
+ readonly contentType: string;
10
+ } | null>;
11
+ //# sourceMappingURL=module-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-assets.d.ts","sourceRoot":"","sources":["../src/module-assets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGxF,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAyBrK;AAoBD,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAc3K"}
@@ -0,0 +1,90 @@
1
+ import { lstat } from "node:fs/promises";
2
+ import { extname, posix, relative, resolve } from "node:path";
3
+ import { projectImportKey } from "./project.js";
4
+ import { frameworkBase } from "./framework-host.js";
5
+ export function moduleOutput(project, pathname, revision = null) {
6
+ const normalized = pathname.replace(/^\//u, "");
7
+ for (const owner of project.modules) {
8
+ const ownerDirectory = posix.dirname(owner.relativePath.replaceAll("\\", "/"));
9
+ for (const embedded of owner.result.embeddedModules) {
10
+ const route = posix.normalize(posix.join(ownerDirectory, embedded.specifier));
11
+ if (normalized === `${route}.map`)
12
+ return { body: embedded.sourceMap, contentType: "application/json; charset=utf-8" };
13
+ if (normalized !== route)
14
+ continue;
15
+ const fileName = posix.basename(route);
16
+ // The owner imports this sibling with the revision query already. Never
17
+ // regexp-rewrite the raw foreign source: import-looking text can occur in
18
+ // a string, template, regex, or comment and must remain byte-for-byte JS.
19
+ return { body: `${embedded.code}//# sourceMappingURL=${fileName}.map\n`, contentType: "text/javascript; charset=utf-8" };
20
+ }
21
+ }
22
+ const sourceRelative = normalized.replace(/\.js(?:\.map)?$/u, ".vel").replace(/\.vel\.map$/u, ".vel");
23
+ const module = project.modules.find((item) => item.relativePath === sourceRelative);
24
+ if (!module)
25
+ return null;
26
+ if (pathname.endsWith(".js.map"))
27
+ return { body: module.result.sourceMap ?? "", contentType: "application/json; charset=utf-8" };
28
+ if (pathname.endsWith(".js")) {
29
+ const fileName = normalized.split("/").at(-1) ?? "module.js";
30
+ const code = revision ? addRevisionToImports(project, module, module.result.code ?? "", revision) : module.result.code ?? "";
31
+ return { body: `${code}//# sourceMappingURL=${fileName}.map\n`, contentType: "text/javascript; charset=utf-8" };
32
+ }
33
+ return null;
34
+ }
35
+ function addRevisionToImports(project, module, code, revision) {
36
+ const encoded = encodeURIComponent(revision);
37
+ const relativeImports = addRevisionToRelativeJavaScriptImports(code, revision);
38
+ return relativeImports.replace(/(\bfrom\s+["']|\bimport\s+["'])([^."'][^"']*)(["'])/gu, (match, prefix, source, suffix) => {
39
+ const targetPath = project.velarImports.get(projectImportKey(module.inputPath, source));
40
+ if (!targetPath)
41
+ return match;
42
+ const target = project.modules.find((item) => item.inputPath === targetPath);
43
+ if (!target)
44
+ return match;
45
+ const route = withBase(frameworkBase(project.framework), target.relativePath.replace(/\.vel$/u, ".js").replaceAll("\\", "/"));
46
+ return `${prefix}${route}?velar=${encoded}${suffix}`;
47
+ });
48
+ }
49
+ function addRevisionToRelativeJavaScriptImports(code, revision) {
50
+ const encoded = encodeURIComponent(revision);
51
+ return code.replace(/(\bfrom\s+["']|\bimport\s+["'])(\.[^"']+\.js)(["'])/gu, `$1$2?velar=${encoded}$3`);
52
+ }
53
+ export async function publicAsset(publicRoot, pathname) {
54
+ const relativePath = pathname.replace(/^\/+|\/+$/gu, "");
55
+ if (!relativePath || relativePath.split(/[\\/]/u).includes(".."))
56
+ return null;
57
+ const root = resolve(publicRoot);
58
+ const path = resolve(root, relativePath);
59
+ const pathFromRoot = relative(root, path);
60
+ if (!pathFromRoot || pathFromRoot.startsWith("..") || pathFromRoot.startsWith("/") || pathFromRoot.startsWith("\\"))
61
+ return null;
62
+ try {
63
+ const metadata = await lstat(path);
64
+ if (!metadata.isFile() || metadata.isSymbolicLink())
65
+ return null;
66
+ return { path, sizeBytes: metadata.size, contentType: contentTypeFor(relativePath) };
67
+ }
68
+ catch {
69
+ return null;
70
+ }
71
+ }
72
+ function withBase(base, path) {
73
+ return `${base}${path.replace(/^\/+/, "")}`;
74
+ }
75
+ function contentTypeFor(path) {
76
+ switch (extname(path).toLowerCase()) {
77
+ case ".css": return "text/css; charset=utf-8";
78
+ case ".html": return "text/html; charset=utf-8";
79
+ case ".js": return "text/javascript; charset=utf-8";
80
+ case ".json": return "application/json; charset=utf-8";
81
+ case ".svg": return "image/svg+xml";
82
+ case ".png": return "image/png";
83
+ case ".jpg":
84
+ case ".jpeg": return "image/jpeg";
85
+ case ".webp": return "image/webp";
86
+ case ".ico": return "image/x-icon";
87
+ default: return "application/octet-stream";
88
+ }
89
+ }
90
+ //# sourceMappingURL=module-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-assets.js","sourceRoot":"","sources":["../src/module-assets.ts"],"names":[],"mappings":"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"}
package/dist/npm.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ import type { ProjectResult } from "./project.ts";
2
+ export interface BrowserNpmPackage {
3
+ readonly name: string;
4
+ /** The installed package root; the dev server watches it for edits. */
5
+ readonly root: string;
6
+ readonly route: string;
7
+ /** The prebundle cache directory whose files are served under the route. */
8
+ readonly serveRoot: string;
9
+ }
10
+ export interface BrowserNpmResolution {
11
+ readonly packages: readonly BrowserNpmPackage[];
12
+ readonly imports: Readonly<Record<string, string>>;
13
+ readonly failures: readonly string[];
14
+ }
15
+ /** Resolve one bare package import exactly as a browser ESM import. */
16
+ export declare function resolveBrowserNpmEntry(specifier: string, baseDirectory: string): Promise<string>;
17
+ export declare function resolveBrowserNpm(project: ProjectResult, invalidateRoots?: ReadonlySet<string>): Promise<BrowserNpmResolution>;
18
+ export declare function npmAsset(packages: readonly BrowserNpmPackage[], pathname: string): Promise<{
19
+ readonly path: string;
20
+ readonly sizeBytes: number;
21
+ readonly contentType: string;
22
+ } | null>;
23
+ //# sourceMappingURL=npm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../src/npm.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAkBlD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AA+CD,uEAAuE;AACvE,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGtG;AAUD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,eAAe,GAAE,WAAW,CAAC,MAAM,CAAa,GAC/C,OAAO,CAAC,oBAAoB,CAAC,CA4G/B;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAkB5L"}