verification-layer 0.20.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +251 -615
  2. package/dist/cli.js +542 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/marketplace/index.d.ts +8 -0
  5. package/dist/marketplace/index.d.ts.map +1 -0
  6. package/dist/marketplace/index.js +7 -0
  7. package/dist/marketplace/index.js.map +1 -0
  8. package/dist/marketplace/installer.d.ts +62 -0
  9. package/dist/marketplace/installer.d.ts.map +1 -0
  10. package/dist/marketplace/installer.js +254 -0
  11. package/dist/marketplace/installer.js.map +1 -0
  12. package/dist/marketplace/registry.d.ts +52 -0
  13. package/dist/marketplace/registry.d.ts.map +1 -0
  14. package/dist/marketplace/registry.js +759 -0
  15. package/dist/marketplace/registry.js.map +1 -0
  16. package/dist/marketplace/types.d.ts +123 -0
  17. package/dist/marketplace/types.d.ts.map +1 -0
  18. package/dist/marketplace/types.js +6 -0
  19. package/dist/marketplace/types.js.map +1 -0
  20. package/dist/reporters/audit-report.d.ts.map +1 -1
  21. package/dist/reporters/audit-report.js +180 -0
  22. package/dist/reporters/audit-report.js.map +1 -1
  23. package/dist/reporters/index.d.ts.map +1 -1
  24. package/dist/reporters/index.js +2612 -5
  25. package/dist/reporters/index.js.map +1 -1
  26. package/dist/scan.d.ts.map +1 -1
  27. package/dist/scan.js +15 -1
  28. package/dist/scan.js.map +1 -1
  29. package/dist/scanners/api-security/index.d.ts +7 -0
  30. package/dist/scanners/api-security/index.d.ts.map +1 -0
  31. package/dist/scanners/api-security/index.js +139 -0
  32. package/dist/scanners/api-security/index.js.map +1 -0
  33. package/dist/scanners/api-security/index.test.d.ts +5 -0
  34. package/dist/scanners/api-security/index.test.d.ts.map +1 -0
  35. package/dist/scanners/api-security/index.test.js +360 -0
  36. package/dist/scanners/api-security/index.test.js.map +1 -0
  37. package/dist/scanners/api-security/patterns.d.ts +32 -0
  38. package/dist/scanners/api-security/patterns.d.ts.map +1 -0
  39. package/dist/scanners/api-security/patterns.js +159 -0
  40. package/dist/scanners/api-security/patterns.js.map +1 -0
  41. package/dist/scanners/authentication/index.d.ts +7 -0
  42. package/dist/scanners/authentication/index.d.ts.map +1 -0
  43. package/dist/scanners/authentication/index.js +107 -0
  44. package/dist/scanners/authentication/index.js.map +1 -0
  45. package/dist/scanners/authentication/index.test.d.ts +5 -0
  46. package/dist/scanners/authentication/index.test.d.ts.map +1 -0
  47. package/dist/scanners/authentication/index.test.js +379 -0
  48. package/dist/scanners/authentication/index.test.js.map +1 -0
  49. package/dist/scanners/authentication/patterns.d.ts +32 -0
  50. package/dist/scanners/authentication/patterns.d.ts.map +1 -0
  51. package/dist/scanners/authentication/patterns.js +133 -0
  52. package/dist/scanners/authentication/patterns.js.map +1 -0
  53. package/dist/scanners/configuration/index.d.ts +8 -0
  54. package/dist/scanners/configuration/index.d.ts.map +1 -0
  55. package/dist/scanners/configuration/index.js +87 -0
  56. package/dist/scanners/configuration/index.js.map +1 -0
  57. package/dist/scanners/configuration/index.test.d.ts +5 -0
  58. package/dist/scanners/configuration/index.test.d.ts.map +1 -0
  59. package/dist/scanners/configuration/index.test.js +344 -0
  60. package/dist/scanners/configuration/index.test.js.map +1 -0
  61. package/dist/scanners/configuration/patterns.d.ts +32 -0
  62. package/dist/scanners/configuration/patterns.d.ts.map +1 -0
  63. package/dist/scanners/configuration/patterns.js +146 -0
  64. package/dist/scanners/configuration/patterns.js.map +1 -0
  65. package/dist/scanners/credentials/index.d.ts +7 -0
  66. package/dist/scanners/credentials/index.d.ts.map +1 -0
  67. package/dist/scanners/credentials/index.js +129 -0
  68. package/dist/scanners/credentials/index.js.map +1 -0
  69. package/dist/scanners/credentials/index.test.d.ts +5 -0
  70. package/dist/scanners/credentials/index.test.d.ts.map +1 -0
  71. package/dist/scanners/credentials/index.test.js +395 -0
  72. package/dist/scanners/credentials/index.test.js.map +1 -0
  73. package/dist/scanners/credentials/patterns.d.ts +32 -0
  74. package/dist/scanners/credentials/patterns.d.ts.map +1 -0
  75. package/dist/scanners/credentials/patterns.js +140 -0
  76. package/dist/scanners/credentials/patterns.js.map +1 -0
  77. package/dist/scanners/errors/index.d.ts +8 -0
  78. package/dist/scanners/errors/index.d.ts.map +1 -0
  79. package/dist/scanners/errors/index.js +78 -0
  80. package/dist/scanners/errors/index.js.map +1 -0
  81. package/dist/scanners/errors/index.test.d.ts +5 -0
  82. package/dist/scanners/errors/index.test.d.ts.map +1 -0
  83. package/dist/scanners/errors/index.test.js +330 -0
  84. package/dist/scanners/errors/index.test.js.map +1 -0
  85. package/dist/scanners/errors/patterns.d.ts +27 -0
  86. package/dist/scanners/errors/patterns.d.ts.map +1 -0
  87. package/dist/scanners/errors/patterns.js +97 -0
  88. package/dist/scanners/errors/patterns.js.map +1 -0
  89. package/dist/scanners/hipaa2026/index.d.ts +8 -0
  90. package/dist/scanners/hipaa2026/index.d.ts.map +1 -0
  91. package/dist/scanners/hipaa2026/index.js +345 -0
  92. package/dist/scanners/hipaa2026/index.js.map +1 -0
  93. package/dist/scanners/hipaa2026/index.test.d.ts +5 -0
  94. package/dist/scanners/hipaa2026/index.test.d.ts.map +1 -0
  95. package/dist/scanners/hipaa2026/index.test.js +332 -0
  96. package/dist/scanners/hipaa2026/index.test.js.map +1 -0
  97. package/dist/scanners/hipaa2026/patterns.d.ts +57 -0
  98. package/dist/scanners/hipaa2026/patterns.d.ts.map +1 -0
  99. package/dist/scanners/hipaa2026/patterns.js +268 -0
  100. package/dist/scanners/hipaa2026/patterns.js.map +1 -0
  101. package/dist/scanners/operational/index.d.ts +7 -0
  102. package/dist/scanners/operational/index.d.ts.map +1 -0
  103. package/dist/scanners/operational/index.js +171 -0
  104. package/dist/scanners/operational/index.js.map +1 -0
  105. package/dist/scanners/operational/index.test.d.ts +5 -0
  106. package/dist/scanners/operational/index.test.d.ts.map +1 -0
  107. package/dist/scanners/operational/index.test.js +406 -0
  108. package/dist/scanners/operational/index.test.js.map +1 -0
  109. package/dist/scanners/operational/patterns.d.ts +33 -0
  110. package/dist/scanners/operational/patterns.d.ts.map +1 -0
  111. package/dist/scanners/operational/patterns.js +151 -0
  112. package/dist/scanners/operational/patterns.js.map +1 -0
  113. package/dist/scanners/rbac/index.d.ts +7 -0
  114. package/dist/scanners/rbac/index.d.ts.map +1 -0
  115. package/dist/scanners/rbac/index.js +145 -0
  116. package/dist/scanners/rbac/index.js.map +1 -0
  117. package/dist/scanners/rbac/index.test.d.ts +5 -0
  118. package/dist/scanners/rbac/index.test.d.ts.map +1 -0
  119. package/dist/scanners/rbac/index.test.js +422 -0
  120. package/dist/scanners/rbac/index.test.js.map +1 -0
  121. package/dist/scanners/rbac/patterns.d.ts +32 -0
  122. package/dist/scanners/rbac/patterns.d.ts.map +1 -0
  123. package/dist/scanners/rbac/patterns.js +124 -0
  124. package/dist/scanners/rbac/patterns.js.map +1 -0
  125. package/dist/scanners/revocation/index.d.ts +8 -0
  126. package/dist/scanners/revocation/index.d.ts.map +1 -0
  127. package/dist/scanners/revocation/index.js +83 -0
  128. package/dist/scanners/revocation/index.js.map +1 -0
  129. package/dist/scanners/revocation/index.test.d.ts +5 -0
  130. package/dist/scanners/revocation/index.test.d.ts.map +1 -0
  131. package/dist/scanners/revocation/index.test.js +332 -0
  132. package/dist/scanners/revocation/index.test.js.map +1 -0
  133. package/dist/scanners/revocation/patterns.d.ts +27 -0
  134. package/dist/scanners/revocation/patterns.d.ts.map +1 -0
  135. package/dist/scanners/revocation/patterns.js +109 -0
  136. package/dist/scanners/revocation/patterns.js.map +1 -0
  137. package/dist/scanners/sanitization/index.d.ts +8 -0
  138. package/dist/scanners/sanitization/index.d.ts.map +1 -0
  139. package/dist/scanners/sanitization/index.js +98 -0
  140. package/dist/scanners/sanitization/index.js.map +1 -0
  141. package/dist/scanners/sanitization/index.test.d.ts +5 -0
  142. package/dist/scanners/sanitization/index.test.d.ts.map +1 -0
  143. package/dist/scanners/sanitization/index.test.js +370 -0
  144. package/dist/scanners/sanitization/index.test.js.map +1 -0
  145. package/dist/scanners/sanitization/patterns.d.ts +27 -0
  146. package/dist/scanners/sanitization/patterns.d.ts.map +1 -0
  147. package/dist/scanners/sanitization/patterns.js +117 -0
  148. package/dist/scanners/sanitization/patterns.js.map +1 -0
  149. package/dist/training/certificate.d.ts +26 -0
  150. package/dist/training/certificate.d.ts.map +1 -0
  151. package/dist/training/certificate.js +92 -0
  152. package/dist/training/certificate.js.map +1 -0
  153. package/dist/training/index.d.ts +3 -0
  154. package/dist/training/index.d.ts.map +1 -0
  155. package/dist/training/index.js +243 -0
  156. package/dist/training/index.js.map +1 -0
  157. package/dist/training/modules.d.ts +13 -0
  158. package/dist/training/modules.d.ts.map +1 -0
  159. package/dist/training/modules.js +608 -0
  160. package/dist/training/modules.js.map +1 -0
  161. package/dist/training/questions.d.ts +9 -0
  162. package/dist/training/questions.d.ts.map +1 -0
  163. package/dist/training/questions.js +505 -0
  164. package/dist/training/questions.js.map +1 -0
  165. package/dist/types.d.ts +45 -0
  166. package/dist/types.d.ts.map +1 -1
  167. package/dist/utils/npm-audit.d.ts +6 -0
  168. package/dist/utils/npm-audit.d.ts.map +1 -0
  169. package/dist/utils/npm-audit.js +95 -0
  170. package/dist/utils/npm-audit.js.map +1 -0
  171. package/dist/utils/scan-history.d.ts +59 -0
  172. package/dist/utils/scan-history.d.ts.map +1 -0
  173. package/dist/utils/scan-history.js +170 -0
  174. package/dist/utils/scan-history.js.map +1 -0
  175. package/package.json +4 -1
  176. package/templates/baa-verification-letter.md +105 -0
  177. package/templates/irp.md +545 -0
  178. package/templates/notice-of-privacy-practices.md +491 -0
  179. package/templates/physical-safeguards-checklist.md +247 -0
  180. package/templates/security-officer-designation.md +237 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAmB,MAAM,mCAAmC,CAAC;AA+C5F,MAAM,kBAAkB,GAA2D;IACjF,aAAa;IACb,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE;IAChE,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE;IAC7D,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE;IAC9D,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAC7D,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE;IACjE,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACtE,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE;IACnE,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAC7D,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE;IACjE,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE;IAEjE,mBAAmB;IACnB,gBAAgB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE;IAClE,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC1D,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,wBAAwB,EAAE;IACxE,aAAa,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE;IAChE,SAAS,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE;IACxD,WAAW,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE;IAChE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,uBAAuB,EAAE;IACnE,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,EAAE;IAC7D,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE;IAC5D,SAAS,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAC/D,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE;IAE3D,iBAAiB;IACjB,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE;IAC1D,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;IACvD,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE;IACzD,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE;IACvE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAyB,EAAE;IACnE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAyB,EAAE;IACnE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACvE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE;IACzE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE;IAErD,eAAe;IACf,uBAAuB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;IACzE,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;IACtD,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;IACrD,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE;IACpE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE;IACtD,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE;IACvD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IACnE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE;IACxE,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE;IAExE,UAAU;IACV,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE;IAC9D,mBAAmB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE;IACnE,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE;IAEzD,gBAAgB;IAChB,gBAAgB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAC3E,YAAY,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,kBAAkB,EAAE;IACzE,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,kBAAkB,EAAE;IACrE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACxF,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE;IAEjE,0BAA0B;IAC1B,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE;IAC/D,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,wBAAwB,EAAE;IACrE,UAAU,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,uBAAuB,EAAE;IACtE,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,qBAAqB,EAAE;IACjE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAC1D,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAC1D,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE;CAC3D,CAAC;AAEF,SAAS,iBAAiB,CAAC,WAAmB;IAC5C,oBAAoB;IACpB,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,2CAA2C;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9D,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,UAAkB;IACtD,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,oBAAoB;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAEzE,MAAM,YAAY,GAAG;YACnB,GAAG,WAAW,CAAC,YAAY;YAC3B,GAAG,WAAW,CAAC,eAAe;SAC/B,CAAC;QAEF,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAEvD,kEAAkE;YAClE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC1B,IAAI,KAAK,YAAY;gBACrB,IAAI,KAAK,QAAQ;gBACjB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC1B,IAAI,KAAK,UAAU;gBACnB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;gBACpC,IAAI,KAAK,QAAQ;gBACjB,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC9C,IAAI;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC9C,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,QAAe;gBACzB,QAAQ;gBACR,iBAAiB,EAAE,EAAE,EAAE,yBAAyB;gBAChD,QAAQ,EAAE,EAAE,EAAE,yBAAyB;aACxC,CAAC,CAAC;YAEH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yEAAyE;QACzE,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,iCAAiC;IACjC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,WAAW,EAAE,MAAM,CAAC,MAAM;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAyB;IAC1D,MAAM,MAAM,GAAG,sEAAsE,CAAC;IAEtF,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACxC,OAAO;YACL,KAAK,CAAC,EAAE;YACR,IAAI,KAAK,CAAC,IAAI,GAAG;YACjB,IAAI,KAAK,CAAC,OAAO,GAAG;YACpB,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,QAAQ;YACd,IAAI,KAAK,CAAC,QAAQ,GAAG;YACrB,IAAI,KAAK,CAAC,iBAAiB,GAAG;YAC9B,IAAI,KAAK,CAAC,QAAQ,GAAG;SACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,MAAM,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,QAAmB;IACpE,MAAM,WAAW,GAAwB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,MAAM,gBAAgB,GAAwB,EAAE,CAAC;IACjD,MAAM,aAAa,GAAwB,EAAE,CAAC;IAE9C,IAAI,CAAC;QACH,2CAA2C;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG;YACnB,GAAG,WAAW,CAAC,YAAY;YAC3B,GAAG,WAAW,CAAC,eAAe;SAC/B,CAAC;QAEF,qBAAqB;QACrB,MAAM,UAAU,GAAG;YACjB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE;YAC/D,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE;YACnD,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE;YACtE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,SAAS,EAAE;YAClE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;YACtD,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE;YACvD,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;YACjD,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;YAChD,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE;SAC/D,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,CAAC,CAAC,QAAQ,KAAK,YAAY;oBAC3B,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAChC,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,YAAY;oBAClB,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,YAAY,GAAG;YACnB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE;YAC7D,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;YACxD,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;YAC9D,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE;YAC5D,EAAE,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE;YACjF,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE;SACtD,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,QAAQ,KAAK,gBAAgB;oBAC/B,CAAC,CAAC,QAAQ,KAAK,eAAe,CAC/B,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC;oBACjB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,eAAe;oBACrB,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,gBAAgB,GAAG;YACvB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,QAAQ,EAAE;YAC9D,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,UAAU,EAAE;YACvE,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,YAAY,EAAE;YACvE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE;YACzD,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE;YAC3D,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE;YACxD,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE;YACvD,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE;YAC7D,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE;SAC1D,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,QAAQ,KAAK,YAAY;oBAC3B,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACrC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC3C,CAAC;gBACF,gBAAgB,CAAC,IAAI,CAAC;oBACpB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,kBAAkB;oBACxB,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,qCAAqC;QACrC,MAAM,WAAW,GAAG;YAClB,WAAW;YACX,SAAS;YACT,eAAe;YACf,aAAa;SACd,CAAC;QAEF,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC/C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAChC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAClE,CAAC,MAAM,CAAC;YACX,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACxB,CAAC,CAAC,QAAQ,KAAK,gBAAgB;gBAC/B,CAAC,CAAC,QAAQ,KAAK,cAAc,CAC9B,CAAC;YACF,WAAW,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,eAAe,aAAa,YAAY;gBAC9C,IAAI,EAAE,aAAa;gBACnB,SAAS;gBACT,OAAO,EAAE,GAAG,aAAa,wBAAwB;aAClD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,QAAQ,KAAK,gBAAgB,IAAI,CAAC,CAAC,QAAQ,KAAK,cAAc,CACjE,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC;oBACf,EAAE,EAAE,eAAe;oBACnB,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,aAAa;oBACnB,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACL,WAAW;QACX,UAAU;QACV,gBAAgB;QAChB,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAqB;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE3B,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAEnD,eAAe;IACf,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpC,CAAC;IAED,iBAAiB;IACjB,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;IACd,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACrC,CAAC;IAED,oBAAoB;IACpB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAChE,IAAI,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAElC,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE3D,YAAY;QACZ,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,gBAAgB;QAChB,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IAED,gCAAgC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IAC9F,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IAEnF,gBAAgB;IAChB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/F,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,UAAkB,EAAE,QAAmB;IAC1E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAErD,MAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM;QACzD,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;IAExF,MAAM,oBAAoB,GAAG;QAC3B,GAAG,QAAQ,CAAC,WAAW;QACvB,GAAG,QAAQ,CAAC,UAAU;QACtB,GAAG,QAAQ,CAAC,gBAAgB;QAC5B,GAAG,QAAQ,CAAC,aAAa;KAC1B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAElC,OAAO;;;;;;;;;;;yCAWgC,eAAe;;;;yCAIf,QAAQ,CAAC,WAAW,CAAC,MAAM;;;;yCAI3B,QAAQ,CAAC,UAAU,CAAC,MAAM;;;oCAG/B,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;yCAC9C,oBAAoB;;;;;;;EAO3D,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA+BH,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;cAI9B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;2BAClB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;kBACpD,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC;kBACnB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE;;aAEzE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;SAGd,CAAC,CAAC,CAAC,EAAE;;UAEJ,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;cAIhC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;2BACtB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;kBACtD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;kBACrB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE;;aAE3E,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;SAGd,CAAC,CAAC,CAAC,EAAE;;UAEJ,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;cAI7B,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;2BACjB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;kBACpD,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC;kBACnB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE;;aAEzE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;SAGd,CAAC,CAAC,CAAC,EAAE;;UAEJ,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;cAInC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;2BACxB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;kBACrD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;;kBAEpB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE;;aAE1E,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;SAGd,CAAC,CAAC,CAAC,EAAE;;;GAGX,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAmB;IACnD,oBAAoB;IACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;IAE/D,0BAA0B;IAC1B,MAAM,UAAU,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC;IAE7D,4BAA4B;IAC5B,IAAI,KAAyC,CAAC;IAC9C,IAAI,KAAa,CAAC;IAElB,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAClB,KAAK,GAAG,IAAI,CAAC;QACb,KAAK,GAAG,SAAS,CAAC,CAAC,QAAQ;IAC7B,CAAC;SAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACzB,KAAK,GAAG,GAAG,CAAC;QACZ,KAAK,GAAG,SAAS,CAAC,CAAC,QAAQ;IAC7B,CAAC;SAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACzB,KAAK,GAAG,GAAG,CAAC;QACZ,KAAK,GAAG,SAAS,CAAC,CAAC,SAAS;IAC9B,CAAC;SAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACzB,KAAK,GAAG,GAAG,CAAC;QACZ,KAAK,GAAG,SAAS,CAAC,CAAC,SAAS;IAC9B,CAAC;SAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACzB,KAAK,GAAG,GAAG,CAAC;QACZ,KAAK,GAAG,SAAS,CAAC,CAAC,MAAM;IAC3B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,GAAG,CAAC;QACZ,KAAK,GAAG,SAAS,CAAC,CAAC,WAAW;IAChC,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAA2B;QAC1C,cAAc,EAAE,gBAAgB;QAChC,YAAY,EAAE,YAAY;QAC1B,eAAe,EAAE,iBAAiB;QAClC,gBAAgB,EAAE,gBAAgB;QAClC,gBAAgB,EAAE,gBAAgB;KACnC,CAAC;IAEF,MAAM,UAAU,GAAwD,EAAE,CAAC;IAE3E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QACpF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QAC5E,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAChF,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;QAE1E,MAAM,aAAa,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC;QAEjE,UAAU,CAAC,KAAK,CAAC,GAAG;YAClB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,gBAAgB,CAAC,MAAM;SAClC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,YAAoB;IACtE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QAExC,sDAAsD;QACtD,MAAM,YAAY,GAAG,KAAK;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAChC,IAAI,EAAE;aACN,OAAO,EAAE,CAAC;QAEb,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qCAAqC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;QAC7D,MAAM,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;QAE5C,IAAI,SAAiC,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uBAAuB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,MAAkB,EAClB,UAAkB,EAClB,eAA2C;IAE3C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE3D,4EAA4E;IAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC7C,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAClD,CAAC;IAEF,MAAM,OAAO,GAAsB;QACjC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC7B,YAAY,EAAE,YAAY,CAAC,MAAM;QACjC,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,cAAc,EAAE,WAAW,CAAC,MAAM;QAClC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;QACnE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;QAC3D,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM;QAC/D,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM;QACzD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;KAC5D,CAAC;IAEF,uCAAuC;IACvC,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,eAAe,GAAG;YACxB,KAAK,EAAE,eAAe,CAAC,MAAM;YAC7B,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;YACvE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;YAC/D,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;YACvE,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM;SAC9D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU;QACV,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAuB;IACpD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,KAAK,GAAa;QACtB,2BAA2B;QAC3B,EAAE;QACF,kBAAkB,MAAM,CAAC,SAAS,EAAE;QACpC,eAAe,MAAM,CAAC,UAAU,EAAE;QAClC,sBAAsB,MAAM,CAAC,YAAY,EAAE;QAC3C,iBAAiB,MAAM,CAAC,YAAY,IAAI;QACxC,EAAE;QACF,YAAY;QACZ,EAAE;QACF,sBAAsB;QACtB,sBAAsB;QACtB,gBAAgB,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI;QAC3C,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;QACnC,cAAc,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI;QACvC,WAAW,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI;QACjC,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;QACnC,mBAAmB,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM;QAC7C,EAAE;KACH,CAAC;IAEF,uCAAuC;IACvC,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,KAAK,CAAC,IAAI,CACR,+BAA+B,EAC/B,EAAE,EACF,+EAA+E,EAC/E,EAAE,EACF,aAAa,EACb,EAAE,EACF,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,IAAI,CAAC,IAAI,EACjE,YAAY,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,IAAI,EACzD,gBAAgB,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,IAAI,CAAC,IAAI,EACjE,WAAW,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,IAAI,EACvD,mBAAmB,MAAM,CAAC,eAAe,CAAC,MAAM,MAAM,EACtD,EAAE,EACF,uBAAuB,EACvB,EAAE,CACH,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY;gBAC/B,CAAC,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;oBACrC,CAAC,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;oBACjE,CAAC,CAAC,iBAAiB;gBACrB,CAAC,CAAC,eAAe,CAAC;YAEpB,KAAK,CAAC,IAAI,CACR,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,IAAI,IAAI,EACvD,EAAE,EACF,wBAAwB,IAAI,CAAC,GAAG,EAAE,EAClC,2BAA2B,IAAI,CAAC,KAAK,IAAI,EACzC,iBAAiB,OAAO,EAAE,EAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAC7C,EAAE,CACH,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAE9B,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC1D,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAA+B,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAElD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CACR,QAAQ,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,EAC1D,EAAE,EACF,eAAe,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACxE,EAAE,EACF,OAAO,CAAC,WAAW,EACnB,EAAE,CACH,CAAC;gBAEF,2BAA2B;gBAC3B,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrD,CAAC;gBAED,KAAK,CAAC,IAAI,CACR,uBAAuB,OAAO,CAAC,cAAc,EAAE,EAC/C,EAAE,CACH,CAAC;gBACF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,EAAE,sDAAsD,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAuB;IAChD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO,4BAA4B,cAAc,4BAA4B,OAAO,qCAAqC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChK,CAAC,CAAC,CAAC;IAEH,OAAO,wBAAwB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;AACxD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAuB;IACrD,OAAO;;;;aAII,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;;;;UAKvD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;wCACP,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;uBAC1C,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;qCACV,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;4DACP,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;;SAE9F,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;YAMP,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;2BAChB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,oCAAoC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;WAC5F,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;GAIlB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAiB;IACzC,OAAO;;;mBAGU,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;iCACT,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;wDACN,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;;;GAG9F,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAgB;IAC1C,4BAA4B;IAC5B,MAAM,aAAa,GAAG;QACpB,SAAS,EAAE,KAAK,CAAC,SAAgB;QACjC,QAAQ,EAAE,KAAK,CAAC,QAAe;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAW;QACvB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QAClD,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAErD,OAAO;;;;;;;qCAO4B,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;;;;;qCAKlC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC;;;;;qCAKjC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;;;;QAI1D,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;YAI/B,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;OAG7E,CAAC,CAAC,CAAC,EAAE;;QAEJ,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;UAIlF,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;uCAEC,KAAK,CAAC,gBAAgB;YACjD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;SAExD,CAAC,CAAC,CAAC,EAAE;;UAEJ,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;uCAEA,KAAK,CAAC,eAAe;YAChD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;SAEzD,CAAC,CAAC,CAAC,EAAE;;UAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;mCAEA,KAAK,CAAC,WAAW;YACxC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;SAErD,CAAC,CAAC,CAAC,EAAE;;OAEP,CAAC,CAAC,CAAC,EAAE;;GAET,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,UAAkB,EAAE,OAAsB;IACpF,MAAM,mBAAmB,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChF,MAAM,kBAAkB,GAAG,MAAM,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB,CAAC;IAEF,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwZH,0BAA0B,CAAC,MAAM,CAAC;;;;;uCAKD,MAAM,CAAC,SAAS;oCACnB,MAAM,CAAC,UAAU;2CACV,MAAM,CAAC,YAAY,iCAAiC,MAAM,CAAC,YAAY;;;;+DAInD,cAAc,CAAC,QAAQ;2CAC3C,cAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,OAAO,CAAC,QAAQ;;;+DAG/B,cAAc,CAAC,IAAI;2CACvC,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI;;;+DAGvB,cAAc,CAAC,MAAM;2CACzC,cAAc,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM;;;+DAG3B,cAAc,CAAC,GAAG;2CACtC,cAAc,CAAC,GAAG,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG;;;;;MAK9E,mBAAmB;;MAEnB,wBAAwB,CAAC,OAAO,CAAC,cAAc,CAAC;;MAEhD,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;;MAE5F,sBAAsB,CAAC,MAAM,CAAC;;MAE9B,kBAAkB;;MAElB,eAAe;;MAEf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,6BAA6B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;;MAE/D,8BAA8B,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;MAE5E,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,mCAAmC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;;;;QAIvF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACxB,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO;yDAC0C,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;;qDAE9B,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ;cAChF,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;cACnB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC,CAAC,EAAE;;4BAE1D,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;2CAChC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YACxD,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC;;qDAEa,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC;;YAErE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,0DAA0D,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;;YAEpH,KAAK,CAAC,CAAC,CAAC;;;cAGN,sBAAsB,CAAC,KAAK,CAAC;;WAEhC,CAAC,CAAC,CAAC,EAAE;;OAET,CAAA;IAAA,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;QASV,CAAC;AACT,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,QAAQ;SACZ,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACzD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,6BAA6B;QAC7C,YAAY,EAAE,4BAA4B;QAC1C,eAAe,EAAE,oCAAoC;QACrD,gBAAgB,EAAE,4CAA4C;QAC9D,gBAAgB,EAAE,4CAA4C;KAC/D,CAAC;IACF,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IACpC,MAAM,MAAM,GAA2B;QACrC,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,MAAM;KACb,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;AACtC,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,UAAkB;IACxD,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,SAAS,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;;;;;KAKN,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAA2B;QAC5C,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;KACZ,CAAC;IAEF,MAAM,cAAc,GAA2B;QAC7C,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,kBAAkB;QAC3B,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,OAAO;KACf,CAAC;IAEF,oBAAoB;IACpB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACxD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAuC,CAAC,CAAC;IAE5C,OAAO;;;;;;;;;;;oCAW2B,SAAS,CAAC,WAAW;;;;oCAIrB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM;;;;oCAI9B,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BzE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;;;8BAGb,aAAa,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC;;;kBAG/D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;;2CAEK,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;mDACZ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;gDACzB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;0BAC/C,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;uDACO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;iDAChC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;;;;;;;;iBAQ1D,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;eACZ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;gCAMO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgC7D,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAc;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;IACtC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;IAE3C,2BAA2B;IAC3B,MAAM,aAAa,GAAG,aAAa,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtD,aAAa,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC3D,eAAe,CAAC;IAEtC,MAAM,YAAY,GAAG;QACnB,WAAW,EAAE;YACX,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,4GAA4G;SACtH;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,oBAAoB;YAC3B,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,2HAA2H;SACrI;QACD,eAAe,EAAE;YACf,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,qHAAqH;SAC/H;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAE3C,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC;SAC/D,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEf,0BAA0B;IAC1B,MAAM,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5B,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACzB,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAEnD,MAAM,SAAS,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjE,sBAAsB;IACtB,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC3D,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAA4B,CAAC,CAAC;IAEjC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;SACrD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEf,OAAO;;;;;;6BAMoB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;QACxE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,SAAS;KACf,CAAC;;2BAEe,MAAM,CAAC,YAAY;;4BAElB,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;;gEAIH,MAAM,CAAC,KAAK;sDACtB,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI;;8BAEpD,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;eAC5C,MAAM,CAAC,OAAO;;;;;;;yDAO4B,SAAS,KAAK,SAAS;;;;;;2CAMrC,aAAa;;8DAEM,aAAa;cAC7D,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,qDAAqD,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE;;;;;;2CAMpE,MAAM,CAAC,YAAY;;;;;;;cAOhD,MAAM,CAAC,KAAK,EAAE,gBAAgB,IAAI,KAAK;;;cAGvC,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,YAAY,MAAM,MAAM,CAAC,KAAK,EAAE,WAAW,IAAI,cAAc;;;;;QAKpG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;;;;YAO1B,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;wEAC2B,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;kDACvE,GAAG,GAAG,CAAC;;;yEAGgB,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;sBACpG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;;sDAEQ,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;;kDAEvB,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;;6CAE9B,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC;;;gDAGzB,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC3E,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gCAAgC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;;;WAItG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;OAGd,CAAC,CAAC,CAAC,EAAE;;QAEJ,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;YAIvB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;QACxC,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;QAC7D,OAAO;;;qDAGkC,UAAU,CAAC,aAAa,CAAC;sDACxB,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU;;;iEAG1C,UAAU;;;aAG9D,CAAC;IACJ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;OAGd,CAAC,CAAC,CAAC,EAAE;;;;;YAKA,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;;sEAEsC,aAAa,oBAAoB,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;;WAG1H,CAAC,CAAC,CAAC,EAAE;YACJ,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;;iEAEqC,SAAS,uBAAuB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;;WAGhH,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;QAcR,aAAa,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;OAW1C,CAAC,CAAC,CAAC,EAAE;;GAET,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAgB;IACrD,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,IAAI,SAAS,GAAG,KAAK,EAAE,eAAe,IAAI,SAAS,CAAC;IAEpD,kCAAkC;IAClC,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,SAAS,CAAC;IAE9C,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,UAAU,CAAC;QACpB,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2Dd,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACxE,MAAM,GAAG,YAAY,CAAC;QACtB,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqFd,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,SAAS,CAAC;QACnB,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsEd,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,CAAC;QAChB,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqCd,CAAC;IACJ,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;QAgBD,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFjB,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,gBAAwB,EAAE,YAAoB;IACpF,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAEtF,OAAO;;;;;;;;;QASD,iBAAiB,CAAC,CAAC,CAAC;;;;;;cAMd,gBAAgB,kBAAkB,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;OAK1E,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6XT,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,UAA6C;IAC7E,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;IAE7F,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACvE,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,SAAS,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7C,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,WAAoB,KAAK,EAAkD,EAAE;QACjH,4DAA4D;QAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtD,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YAChD,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAClE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;SAC5B,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAE1D,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;QACrD,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,OAAO;;;;;;;6BAOoB,UAAU,CAAC,aAAa,CAAC;;;;;;;0DAOI,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,+EAA+E,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;;;iFAGxI,YAAY,CAAC,eAAe;;kCAE3E,UAAU,0CAA0C,YAAY,CAAC,eAAe,GAAG,WAAW;;+BAEjG,UAAU;eAC1B,SAAS,GAAG,WAAW,KAAK,UAAU;;;;;;;;iFAQ4B,YAAY,CAAC,QAAQ,CAAC,QAAQ;;gFAE/B,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ;;+BAE1G,cAAc,CAAC,KAAK;eACpC,cAAc,CAAC,IAAI,GAAG,eAAe,CAAC,QAAQ,KAAK,cAAc,CAAC,KAAK;;;;;;;;iFAQL,YAAY,CAAC,QAAQ,CAAC,IAAI;;gFAE3B,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI;;+BAElG,UAAU,CAAC,KAAK;eAChC,UAAU,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK;;;;;;;;iFAQO,YAAY,CAAC,QAAQ,CAAC,MAAM;;gFAE7B,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM;;+BAEtG,YAAY,CAAC,KAAK;eAClC,YAAY,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM,KAAK,YAAY,CAAC,KAAK;;;;;QAKxE,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;YAEhD,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;8CAGW,SAAS,CAAC,MAAM;;;kBAG5C,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;;sBAE7B,UAAU,CAAC,EAAE,CAAC;;iBAEnB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;kBACT,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,4DAA4D,SAAS,CAAC,MAAM,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE;;;WAGnI,CAAC,CAAC,CAAC,EAAE;;YAEJ,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;kDAGU,cAAc,CAAC,MAAM;;;kBAGrD,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;;sBAElC,UAAU,CAAC,EAAE,CAAC;;iBAEnB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;kBACT,cAAc,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,4DAA4D,cAAc,CAAC,MAAM,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE;;;WAG7I,CAAC,CAAC,CAAC,EAAE;;OAET,CAAC,CAAC,CAAC;;;;;;OAMH;;GAEJ,CAAC;AACJ,CAAC;AAED,SAAS,mCAAmC,CAAC,eAA0C;IACrF,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;QACvE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;QAC/D,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;QACvE,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM;KAC9D,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,SAAS;QACnB,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB,CAAC;IAEF,OAAO;;;;;;;;;;;;QAYD,UAAU,CAAC,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;;;;;;;cAO3C,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;;;;OAI9L,CAAC,CAAC,CAAC,EAAE;;;;;+FAKmF,UAAU,CAAC,QAAQ;;;;+FAInB,UAAU,CAAC,IAAI;;;;+FAIf,UAAU,CAAC,QAAQ;;;;+FAInB,UAAU,CAAC,GAAG;;;;;;;UAOnG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;yGACmE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;gMAI0D,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;sBACvM,IAAI,CAAC,QAAQ;;mIAEgG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;;oBAGpI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;;;yHAGiF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;;;kBAI7H,IAAI,CAAC,YAAY;QACjB,CAAC,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;YACrC,CAAC,CAAC;;;6BAGO,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;;8BAE1E;YACV,CAAC,CAAC;;8BAEQ;QACZ,CAAC,CAAC;;4BAGJ;;;cAGF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;;2BAEE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;aAKlC,CAAC,CAAC,CAAC,EAAE;;SAET,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;GAkBhB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAAc,EAAE,UAAkB;IACzE,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACvH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI;YAC3B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM;gBAC/B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,GAAG;QACP,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,QAAQ;QAC5B,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI;YAC3B,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM;gBAC/B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,eAAe;QACnB,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI;YAC3B,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;YACrD,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM;gBAC/B,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;gBACpD,CAAC,CAAC,8BAA8B;QAClC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;;;;yDAQgD,KAAK,CAAC,KAAK;mDACjB,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;;wDAEpC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;;;;;cAKrE,KAAK,CAAC,OAAO,IAAI,EAAE;QACnB,CAAC,CAAC,2FAA2F;QAC7F,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE;YACrB,CAAC,CAAC,oFAAoF;YACtF,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE;gBACrB,CAAC,CAAC,gFAAgF;gBAClF,CAAC,CAAC,4FACJ;;;YAGA,QAAQ,CAAC,CAAC,CAAC;uCACgB,aAAa;0CACV,YAAY;0CACZ,YAAY;;WAE3C,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;YAWJ,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;SAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACxH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,OAAO;;6CAEwB,UAAU,CAAC,QAAQ,CAAC;;;8DAGH,QAAQ,kBAAkB,QAAQ;;8DAElC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;iDAEhD,IAAI,CAAC,QAAQ,WAAW,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;aAE1F,CAAC;IACF,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC;;;;GAIlB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC5C,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB,CAAC;IAEF,gBAAgB;IAChB,MAAM,WAAW,GAAG;;;;;;;;;;;8CAWwB,cAAc,CAAC,QAAQ;;kBAEnD,MAAM,CAAC,OAAO,CAAC,QAAQ;kBACvB,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;8CAErE,cAAc,CAAC,IAAI;;kBAE/C,MAAM,CAAC,OAAO,CAAC,IAAI;kBACnB,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;8CAEjE,cAAc,CAAC,MAAM;;kBAEjD,MAAM,CAAC,OAAO,CAAC,MAAM;kBACrB,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;8CAEnE,cAAc,CAAC,GAAG;;kBAE9C,MAAM,CAAC,OAAO,CAAC,GAAG;kBAClB,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;;;kBAI5F,MAAM,CAAC,OAAO,CAAC,KAAK;;;;;;GAMnC,CAAC;IAEF,sBAAsB;IACtB,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;YAcxC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gDACW,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;wCAClC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;;0BAEvD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;wCACL,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;;;8DAGzB,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACpE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;;;;4CAIA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa;oBACtE,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;;;6CAGT,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC;uCAClC,UAAU,CAAC,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC;;WAEjE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;GAIlB,CAAC,CAAC,CAAC,wFAAwF,CAAC;IAE7F,OAAO;;;;;;;;QAQD,WAAW;;;QAGX,YAAY;;GAEjB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,MAAM,GAA2B;QACrC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,GAAG;KACV,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAkB,EAClB,UAAkB,EAClB,OAAsB;IAEtB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAExE,IAAI,OAAe,CAAC;IACpB,IAAI,SAAiB,CAAC;IAEtB,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC1D,SAAS,GAAG,MAAM,CAAC;YACnB,MAAM;QACR,KAAK,UAAU;YACb,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACnC,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM;QACR,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC/B,SAAS,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,iBAAiB,SAAS,EAAE,CAAC;QACjD,MAAM,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAmD,MAAM,YAAY,CAAC;AA0C3G,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8LpE"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAmD,MAAM,YAAY,CAAC;AAwD3G,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8LpE"}
package/dist/scan.js CHANGED
@@ -7,6 +7,16 @@ import { accessScanner } from './scanners/access/index.js';
7
7
  import { retentionScanner } from './scanners/retention/index.js';
8
8
  import { securityScanner } from './scanners/security/index.js';
9
9
  import { skillsScanner } from './scanners/skills/index.js';
10
+ import { hipaa2026Scanner } from './scanners/hipaa2026/index.js';
11
+ import { authenticationScanner } from './scanners/authentication/index.js';
12
+ import { rbacScanner } from './scanners/rbac/index.js';
13
+ import { credentialsScanner } from './scanners/credentials/index.js';
14
+ import { errorsScanner } from './scanners/errors/index.js';
15
+ import { sanitizationScanner } from './scanners/sanitization/index.js';
16
+ import { revocationScanner } from './scanners/revocation/index.js';
17
+ import { configurationScanner } from './scanners/configuration/index.js';
18
+ import { apiSecurityScanner } from './scanners/api-security/index.js';
19
+ import { operationalScanner } from './scanners/operational/index.js';
10
20
  import { detectStack, getStackDisplayName } from './stack-detector/index.js';
11
21
  import { getStackSummary } from './stack-detector/stack-guides.js';
12
22
  import { loadCustomRules, scanWithCustomRules } from './rules/index.js';
@@ -34,7 +44,11 @@ const scanners = {
34
44
  };
35
45
  // Additional scanners that run with specific categories
36
46
  const additionalScanners = {
37
- 'access-control': [securityScanner, skillsScanner], // Security and Skills scanners run with access-control
47
+ 'access-control': [securityScanner, skillsScanner, hipaa2026Scanner, authenticationScanner, rbacScanner, sanitizationScanner, revocationScanner, apiSecurityScanner], // Security, Skills, HIPAA 2026, Authentication, RBAC, Sanitization, Revocation, and API Security scanners run with access-control
48
+ 'encryption': [credentialsScanner], // Credentials scanner runs with encryption
49
+ 'audit-logging': [errorsScanner, configurationScanner], // Errors and Configuration scanners run with audit-logging
50
+ 'phi-exposure': [errorsScanner], // Errors scanner also runs with phi-exposure
51
+ 'data-retention': [operationalScanner], // Operational scanner runs with data-retention
38
52
  };
39
53
  export async function scan(options) {
40
54
  const startTime = Date.now();
package/dist/scan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * API Security Scanner
3
+ * Detects authentication routes without rate limiting, open CORS, and PHI in URLs
4
+ */
5
+ import type { Scanner } from '../../types.js';
6
+ export declare const apiSecurityScanner: Scanner;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scanners/api-security/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,gBAAgB,CAAC;AAIpE,eAAO,MAAM,kBAAkB,EAAE,OAwJhC,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * API Security Scanner
3
+ * Detects authentication routes without rate limiting, open CORS, and PHI in URLs
4
+ */
5
+ import { ALL_API_SECURITY_PATTERNS } from './patterns.js';
6
+ import * as fs from 'fs/promises';
7
+ export const apiSecurityScanner = {
8
+ name: 'API Security Scanner',
9
+ category: 'access-control',
10
+ async scan(files, options) {
11
+ const findings = [];
12
+ for (const file of files) {
13
+ // Skip non-code files
14
+ if (!file.match(/\.(ts|tsx|js|jsx|mjs|cjs)$/)) {
15
+ continue;
16
+ }
17
+ try {
18
+ const content = await fs.readFile(file, 'utf-8');
19
+ const lines = content.split('\n');
20
+ for (const pattern of ALL_API_SECURITY_PATTERNS) {
21
+ for (let i = 0; i < lines.length; i++) {
22
+ const line = lines[i];
23
+ // Skip comment lines for all patterns
24
+ const trimmedLine = line.trim();
25
+ if (trimmedLine.startsWith('//') || trimmedLine.startsWith('/*') || trimmedLine.startsWith('*')) {
26
+ continue;
27
+ }
28
+ // For CORS-001, check multi-line context
29
+ if (pattern.id === 'CORS-001') {
30
+ // Trigger check on lines containing cors, setHeader, .header, or origin
31
+ if (!/cors|setHeader|\.header|headers\.set|origin.*\*/i.test(line)) {
32
+ continue;
33
+ }
34
+ // Get 5 lines of context
35
+ const start = Math.max(0, i - 2);
36
+ const end = Math.min(lines.length, i + 3);
37
+ const contextLines = lines.slice(start, end);
38
+ const context = contextLines.join(' ').replace(/\s+/g, ' ');
39
+ // Check if any pattern matches the context
40
+ const matched = pattern.patterns.some(p => p.test(context));
41
+ if (!matched)
42
+ continue;
43
+ // Check negative patterns
44
+ const contextWithoutComments = contextLines
45
+ .filter(l => {
46
+ const t = l.trim();
47
+ return !t.startsWith('//') && !t.startsWith('/*') && !t.startsWith('*');
48
+ })
49
+ .join('\n');
50
+ if (pattern.negativePatterns) {
51
+ const hasNegativeMatch = pattern.negativePatterns.some(np => np.test(contextWithoutComments));
52
+ if (hasNegativeMatch) {
53
+ continue;
54
+ }
55
+ }
56
+ // Determine category
57
+ const category = 'access-control';
58
+ findings.push({
59
+ id: pattern.id,
60
+ title: pattern.name,
61
+ description: `${pattern.description}\n\nCode: ${line.trim()}`,
62
+ severity: pattern.severity,
63
+ category: category,
64
+ file,
65
+ line: i + 1,
66
+ column: line.indexOf(line.trim()) + 1,
67
+ recommendation: pattern.recommendation,
68
+ hipaaReference: pattern.hipaaReference,
69
+ confidence: 'high',
70
+ });
71
+ continue;
72
+ }
73
+ // For other patterns, check line-by-line
74
+ const matched = pattern.patterns.some(p => p.test(line));
75
+ if (!matched)
76
+ continue;
77
+ // Get context for negative pattern checking
78
+ let contextLines;
79
+ if (pattern.id === 'RATE-001') {
80
+ // Check 20 lines of context for rate limiting middleware
81
+ const start = Math.max(0, i - 10);
82
+ const end = Math.min(lines.length, i + 10);
83
+ contextLines = lines.slice(start, end);
84
+ }
85
+ else if (pattern.id === 'API-001') {
86
+ // Check 3 lines of context for POST body usage (current line + 1 before/after)
87
+ const start = Math.max(0, i - 1);
88
+ const end = Math.min(lines.length, i + 2);
89
+ contextLines = lines.slice(start, end);
90
+ }
91
+ else {
92
+ contextLines = [line];
93
+ }
94
+ const context = contextLines.join('\n');
95
+ // Filter out comments from context
96
+ const contextWithoutComments = context
97
+ .split('\n')
98
+ .filter(l => {
99
+ const t = l.trim();
100
+ return !t.startsWith('//') && !t.startsWith('/*') && !t.startsWith('*');
101
+ })
102
+ .join('\n');
103
+ // Check negative patterns
104
+ if (pattern.negativePatterns) {
105
+ const hasNegativeMatch = pattern.negativePatterns.some(np => np.test(contextWithoutComments));
106
+ if (hasNegativeMatch) {
107
+ continue;
108
+ }
109
+ }
110
+ // Determine category based on pattern
111
+ let category = 'access-control';
112
+ if (pattern.id === 'API-001') {
113
+ category = 'phi-exposure';
114
+ }
115
+ findings.push({
116
+ id: pattern.id,
117
+ title: pattern.name,
118
+ description: `${pattern.description}\n\nCode: ${line.trim()}`,
119
+ severity: pattern.severity,
120
+ category: category,
121
+ file,
122
+ line: i + 1,
123
+ column: line.indexOf(line.trim()) + 1,
124
+ recommendation: pattern.recommendation,
125
+ hipaaReference: pattern.hipaaReference,
126
+ confidence: 'high',
127
+ });
128
+ }
129
+ }
130
+ }
131
+ catch (error) {
132
+ // Skip files that can't be read
133
+ continue;
134
+ }
135
+ }
136
+ return findings;
137
+ },
138
+ };
139
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scanners/api-security/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * API Security Scanner Tests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/scanners/api-security/index.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}