@cerbos/orm-prisma 4.0.0 → 5.0.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.
- package/README.md +611 -460
- package/lib/collections.d.ts +30 -0
- package/lib/collections.d.ts.map +1 -0
- package/lib/collections.js +421 -0
- package/lib/collections.js.map +1 -0
- package/lib/comparison.d.ts +24 -0
- package/lib/comparison.d.ts.map +1 -0
- package/lib/comparison.js +731 -0
- package/lib/comparison.js.map +1 -0
- package/lib/errors.d.ts +13 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +17 -0
- package/lib/errors.js.map +1 -0
- package/lib/evaluate.d.ts +5 -0
- package/lib/evaluate.d.ts.map +1 -0
- package/lib/evaluate.js +118 -0
- package/lib/evaluate.js.map +1 -0
- package/lib/fields.d.ts +34 -0
- package/lib/fields.d.ts.map +1 -0
- package/lib/fields.js +253 -0
- package/lib/fields.js.map +1 -0
- package/lib/functions.d.ts +5 -0
- package/lib/functions.d.ts.map +1 -0
- package/lib/functions.js +408 -0
- package/lib/functions.js.map +1 -0
- package/lib/hierarchy.d.ts +6 -0
- package/lib/hierarchy.d.ts.map +1 -0
- package/lib/hierarchy.js +266 -0
- package/lib/hierarchy.js.map +1 -0
- package/lib/index.d.ts +91 -8
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +34 -2301
- package/lib/index.js.map +1 -1
- package/lib/literals.d.ts +20 -0
- package/lib/literals.d.ts.map +1 -0
- package/lib/literals.js +290 -0
- package/lib/literals.js.map +1 -0
- package/lib/mapping.d.ts +95 -0
- package/lib/mapping.d.ts.map +1 -0
- package/lib/mapping.js +316 -0
- package/lib/mapping.js.map +1 -0
- package/lib/narrowing.d.ts +12 -0
- package/lib/narrowing.d.ts.map +1 -0
- package/lib/narrowing.js +32 -0
- package/lib/narrowing.js.map +1 -0
- package/lib/plan.d.ts +49 -0
- package/lib/plan.d.ts.map +1 -0
- package/lib/plan.js +86 -0
- package/lib/plan.js.map +1 -0
- package/lib/presence.d.ts +25 -0
- package/lib/presence.d.ts.map +1 -0
- package/lib/presence.js +82 -0
- package/lib/presence.js.map +1 -0
- package/lib/regex.d.ts +33 -0
- package/lib/regex.d.ts.map +1 -0
- package/lib/regex.js +480 -0
- package/lib/regex.js.map +1 -0
- package/lib/relations.d.ts +58 -0
- package/lib/relations.d.ts.map +1 -0
- package/lib/relations.js +175 -0
- package/lib/relations.js.map +1 -0
- package/lib/rewrite.d.ts +36 -0
- package/lib/rewrite.d.ts.map +1 -0
- package/lib/rewrite.js +366 -0
- package/lib/rewrite.js.map +1 -0
- package/lib/solve.d.ts +20 -0
- package/lib/solve.d.ts.map +1 -0
- package/lib/solve.js +77 -0
- package/lib/solve.js.map +1 -0
- package/lib/strings.d.ts +12 -0
- package/lib/strings.d.ts.map +1 -0
- package/lib/strings.js +110 -0
- package/lib/strings.js.map +1 -0
- package/lib/ternary.d.ts +12 -0
- package/lib/ternary.d.ts.map +1 -0
- package/lib/ternary.js +192 -0
- package/lib/ternary.js.map +1 -0
- package/lib/timestamp.d.ts +45 -0
- package/lib/timestamp.d.ts.map +1 -0
- package/lib/timestamp.js +225 -0
- package/lib/timestamp.js.map +1 -0
- package/lib/translate.d.ts +20 -0
- package/lib/translate.d.ts.map +1 -0
- package/lib/translate.js +287 -0
- package/lib/translate.js.map +1 -0
- package/lib/types.d.ts +29 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +980 -0
- package/lib/types.js.map +1 -0
- package/lib/value.d.ts +8 -0
- package/lib/value.d.ts.map +1 -0
- package/lib/value.js +7 -0
- package/lib/value.js.map +1 -0
- package/package.json +31 -18
- package/src/adversarial.test.ts +488 -488
- package/src/collections.ts +738 -0
- package/src/comparison.ts +1157 -0
- package/src/corpus.ts +597 -0
- package/src/errors.ts +12 -0
- package/src/evaluate.ts +170 -0
- package/src/fields.ts +373 -0
- package/src/functions.ts +548 -0
- package/src/generated/prisma-adversarial/browser.ts +20 -0
- package/src/generated/prisma-adversarial/client.ts +20 -0
- package/src/generated/prisma-adversarial/commonInputTypes.ts +116 -127
- package/src/generated/prisma-adversarial/internal/class.ts +44 -4
- package/src/generated/prisma-adversarial/internal/prismaNamespace.ts +350 -3
- package/src/generated/prisma-adversarial/internal/prismaNamespaceBrowser.ts +49 -2
- package/src/generated/prisma-adversarial/models/AdversarialBoolListElement.ts +1272 -0
- package/src/generated/prisma-adversarial/models/AdversarialInner.ts +1369 -0
- package/src/generated/prisma-adversarial/models/AdversarialNumberListElement.ts +1316 -0
- package/src/generated/prisma-adversarial/models/AdversarialParent.ts +1474 -0
- package/src/generated/prisma-adversarial/models/AdversarialResource.ts +547 -75
- package/src/generated/prisma-adversarial/models.ts +4 -0
- package/src/generated/prisma-adversarial-mysql/browser.ts +64 -0
- package/src/generated/{prisma → prisma-adversarial-mysql}/client.ts +23 -18
- package/src/generated/{prisma → prisma-adversarial-mysql}/commonInputTypes.ts +167 -92
- package/src/generated/prisma-adversarial-mysql/internal/class.ts +284 -0
- package/src/generated/prisma-adversarial-mysql/internal/prismaNamespace.ts +1518 -0
- package/src/generated/prisma-adversarial-mysql/internal/prismaNamespaceBrowser.ts +274 -0
- package/src/generated/prisma-adversarial-mysql/models/AdversarialBoolListElement.ts +1157 -0
- package/src/generated/prisma-adversarial-mysql/models/AdversarialCategory.ts +1286 -0
- package/src/generated/prisma-adversarial-mysql/models/AdversarialInner.ts +1247 -0
- package/src/generated/prisma-adversarial-mysql/models/AdversarialLabel.ts +1157 -0
- package/src/generated/prisma-adversarial-mysql/models/AdversarialNumberListElement.ts +1201 -0
- package/src/generated/prisma-adversarial-mysql/models/AdversarialParent.ts +1352 -0
- package/src/generated/prisma-adversarial-mysql/models/AdversarialResource.ts +2021 -0
- package/src/generated/prisma-adversarial-mysql/models/AdversarialSubCategory.ts +1286 -0
- package/src/generated/prisma-adversarial-mysql/models/AdversarialTag.ts +1190 -0
- package/src/generated/prisma-adversarial-mysql/models.ts +20 -0
- package/src/generated/prisma-adversarial-mysql-v6/index.d.ts +13822 -0
- package/src/generated/prisma-adversarial-pg/browser.ts +64 -0
- package/src/generated/prisma-adversarial-pg/client.ts +86 -0
- package/src/generated/prisma-adversarial-pg/commonInputTypes.ts +345 -0
- package/src/generated/prisma-adversarial-pg/enums.ts +15 -0
- package/src/generated/prisma-adversarial-pg/internal/class.ts +284 -0
- package/src/generated/prisma-adversarial-pg/internal/prismaNamespace.ts +1542 -0
- package/src/generated/{prisma → prisma-adversarial-pg}/internal/prismaNamespaceBrowser.ts +72 -43
- package/src/generated/prisma-adversarial-pg/models/AdversarialBoolListElement.ts +1275 -0
- package/src/generated/prisma-adversarial-pg/models/AdversarialCategory.ts +1404 -0
- package/src/generated/prisma-adversarial-pg/models/AdversarialInner.ts +1371 -0
- package/src/generated/prisma-adversarial-pg/models/AdversarialLabel.ts +1275 -0
- package/src/generated/prisma-adversarial-pg/models/AdversarialNumberListElement.ts +1319 -0
- package/src/generated/prisma-adversarial-pg/models/AdversarialParent.ts +1476 -0
- package/src/generated/prisma-adversarial-pg/models/AdversarialResource.ts +2139 -0
- package/src/generated/prisma-adversarial-pg/models/AdversarialSubCategory.ts +1404 -0
- package/src/generated/prisma-adversarial-pg/models/AdversarialTag.ts +1310 -0
- package/src/generated/prisma-adversarial-pg/models.ts +20 -0
- package/src/generated/prisma-adversarial-pg-v6/client.d.ts +1 -0
- package/src/generated/prisma-adversarial-pg-v6/default.d.ts +1 -0
- package/src/generated/prisma-adversarial-pg-v6/edge.d.ts +1 -0
- package/src/generated/prisma-adversarial-pg-v6/index.d.ts +14918 -0
- package/src/generated/prisma-adversarial-pg-v6/runtime/index-browser.d.ts +370 -0
- package/src/generated/prisma-adversarial-pg-v6/runtime/library.d.ts +3982 -0
- package/src/generated/prisma-adversarial-pg-v6/wasm.d.ts +1 -0
- package/src/generated/prisma-adversarial-v6/index.d.ts +6515 -304
- package/src/hierarchy.ts +405 -0
- package/src/index.ts +134 -3325
- package/src/literals.ts +363 -0
- package/src/mapping.ts +474 -0
- package/src/narrowing.ts +33 -0
- package/src/plan.ts +125 -0
- package/src/presence.ts +114 -0
- package/src/regex.ts +596 -0
- package/src/relations.ts +226 -0
- package/src/rewrite.ts +524 -0
- package/src/solve.ts +96 -0
- package/src/strings.ts +152 -0
- package/src/ternary.ts +359 -0
- package/src/test-setup.adversarial-url.ts +21 -0
- package/src/test-setup.adversarial.mysql.v6.ts +13 -0
- package/src/test-setup.adversarial.mysql.v7.ts +12 -0
- package/src/test-setup.adversarial.pg.v6.ts +13 -0
- package/src/test-setup.adversarial.pg.v7.ts +9 -0
- package/src/test-setup.adversarial.v7.ts +1 -0
- package/src/timestamp.ts +308 -0
- package/src/translate.ts +419 -0
- package/src/translator.test.ts +766 -0
- package/src/types.ts +1310 -0
- package/src/value.ts +16 -0
- package/src/generated/prisma/browser.ts +0 -59
- package/src/generated/prisma/internal/class.ts +0 -274
- package/src/generated/prisma/internal/prismaNamespace.ts +0 -1403
- package/src/generated/prisma/models/Category.ts +0 -1412
- package/src/generated/prisma/models/Label.ts +0 -1276
- package/src/generated/prisma/models/NestedResource.ts +0 -1562
- package/src/generated/prisma/models/NextLevelNestedResource.ts +0 -1337
- package/src/generated/prisma/models/Resource.ts +0 -2196
- package/src/generated/prisma/models/SubCategory.ts +0 -1412
- package/src/generated/prisma/models/Tag.ts +0 -1276
- package/src/generated/prisma/models/User.ts +0 -1503
- package/src/generated/prisma/models.ts +0 -19
- package/src/generated/prisma-v6/index.d.ts +0 -13726
- package/src/index.test.ts +0 -8885
- package/src/test-setup.v6.ts +0 -5
- package/src/test-setup.v7.ts +0 -7
- /package/src/generated/{prisma → prisma-adversarial-mysql}/enums.ts +0 -0
- /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/client.d.ts +0 -0
- /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/default.d.ts +0 -0
- /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/edge.d.ts +0 -0
- /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/runtime/index-browser.d.ts +0 -0
- /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/runtime/library.d.ts +0 -0
- /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/wasm.d.ts +0 -0
package/lib/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,gGAAgG;AAChG,8FAA8F;AAC9F,yFAAyF;;AAiEzF,oDA0EC;AAykBD,0CA8BC;AA6PD,4BAmBC;AA9/BD,yCAAkD;AAClD,yCAA0C;AAC1C,uCAAmF;AAGnF,mCAA2C;AAC3C,uCAAmD;AACnD,2CAAwD;AACxD,iCAAiG;AAEjG,2CAAuF;AAiCvF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AACpF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;AAChF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAClC,IAA2B,EAC3B,OAA2B,EAC3B,QAAQ,GAAG,IAAI;IAEf,IAAI,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,KAAK,CAAC;QACX,KAAK,IAAI;YACP,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CACjD;aACF,CAAC;QACJ,KAAK,KAAK;YACR,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAClD;aACF,CAAC;QACJ,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK;YACR,OAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GACR,uBAAuB,CAAC,IAAI,CAAC;QAC7B,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC;QAChC,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC9C,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC;QACnC,IAAA,qCAAyB,EAAC,IAAI,EAAE,QAAQ,CAAC;QACzC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE7C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtE,8FAA8F;IAC9F,yFAAyF;IACzF,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvE,MAAM,OAAO,GACX,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAC3B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE;YACtB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEtD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAE5E,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAExD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEzD,+FAA+F;IAC/F,yFAAyF;IACzF,gGAAgG;IAChG,2FAA2F;IAC3F,yFAAyF;IACzF,6FAA6F;IAC7F,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gGAAgG;AAChG,SAAS,gBAAgB,CACvB,IAAqB,EACrB,OAA2B,EAC3B,QAAiB;IAEjB,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE3C,IACE,UAAU,KAAK,SAAS;QACxB,CAAC,IAAA,qBAAc,EAAC,UAAU,CAAC;QAC3B,MAAM,KAAK,SAAS;QACpB,CAAC,IAAA,wBAAiB,EAAC,MAAM,CAAC;QAC1B,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAC5B,0FAA0F;QAC1F,0DAA0D;QAC1D,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEzC,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAA,qBAAc,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEtE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEtC,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE;YACR,UAAU;YACV,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE;SAC3F;KACF,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,SAAS,aAAa,CACpB,OAA2B,EAC3B,cAAsB,EACtB,YAAoB;IAEpB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAqB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAErE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3D,OAAO,IAAA,0BAAgB,EAAC,OAAO,EAAE,cAAc,EAAE;QAC/C,YAAY;QACZ,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,KAAK;QACrD,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,cAAc,EAAE,EAAE;KACnB,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AAEnG;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,IAAqB,EACrB,OAA2B;IAE3B,IAAI,CAAC,2BAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE7F,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CACnC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CACtG,CAAC;IAEF,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,IAAA,wBAAiB,EAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3E,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAA,kBAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElE,IAAI,CAAC,IAAA,qBAAc,EAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAA,+BAAqB,EAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEhE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IACvF,+FAA+F;IAC/F,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,uFAAuF;IACvF,iGAAiG;IACjG,MAAM,eAAe,GAAG,CAAC,OAA8B,EAAW,EAAE,CAClE,IAAA,qBAAc,EAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,IAAA,+BAAqB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QAC3E,CAAC,CAAC,IAAA,wBAAiB,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE3E,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1D,MAAM,MAAM,GAAG,CAAC,KAA4B,EAAyB,EAAE,CACrE,IAAA,gCAAsB,EAAC;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;KAC7E,CAAC,CAAC;IAEL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,CAAC,IAA2B,EAAE,EAAE,CAC9C,IAAA,qBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC;IAEjG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5D,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE;YACR,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;YAClD,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;YACpF,GAAG,CAAC,gBAAgB,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SACzD;KACF,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,KAAK;IACL,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,UAAU;IACV,YAAY;IACZ,UAAU;IACV,SAAS;IACT,QAAQ;IACR,KAAK;IACL,YAAY;IACZ,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAS,uBAAuB,CAAC,IAAqB;IACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAA,qBAAc,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEnF,IACE,CAAC,IAAA,qBAAc,EAAC,OAAO,CAAC;QACxB,CAAC,IAAA,qBAAS,EAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,IAAA,wBAAiB,EAAC,KAAK,CAAC;QACzB,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EACtC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC;IAExD,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAC5B,IAAqB,EACrB,OAA2B,EAC3B,QAAiB;IAEjB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7F,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,wBAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAErF,IACE,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,IAAA,qBAAc,EAAC,OAAO,CAAC;QACxB,OAAO,CAAC,KAAK,KAAK,IAAI,EACtB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAA,oBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAc,EAAC,MAAM,CAAC,EAAE,CAAC;QAC7E,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;QAED,4FAA4F;QAC5F,6FAA6F;QAC7F,2FAA2F;QAC3F,WAAW;QACX,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAE9F,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;YACxE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;YACvD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAA,qBAAc,EAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE7D,IAAI,QAAQ,CAAC,2BAA2B,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAC1E,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElC,4FAA4F;IAC5F,8EAA8E;IAC9E,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;QACrF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,CAAQ,EAAyB,EAAE,CAAC,CAAC;QAChE,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,CAAQ,EAAyB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE3E,6FAA6F;IAC7F,MAAM,SAAS,GAA0B;QACvC,QAAQ;QACR,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;KACzD,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAA,oBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,CAAC;QAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAE7B,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,KAAK;gBAC7D,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAClB,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAA,oBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAE/C,MAAM,KAAK,GAA0B;YACnC,QAAQ,EAAE,KAAK;YACf,QAAQ,EACN,KAAK,GAAG,CAAC;gBACP,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAClD,CAAC,CAAC,KAAK,GAAG,CAAC;oBACT,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SAC9C,CAAC;QAEF,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CAChC,UAAiC,EACjC,OAAe,EACf,QAAgB;IAEhB,MAAM,OAAO,GAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;IAEnF,MAAM,KAAK,GACT,OAAO,KAAK,MAAM;QAChB,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,OAAO,KAAK,OAAO;YACnB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;IAE7D,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,IAA2B,EAAE,OAA2B;IAC/E,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC;QAAE,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvD,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,IAAA,+BAAqB,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC;IAC7E,CAAC;IAED,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtD,OAAO,CACL,IAAI,CAAC,QAAQ,KAAK,IAAI;QACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CACrE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CACpB,IAAqB,EACrB,OAA2B;IAE3B,IAAI,CAAC,2BAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE7D,IACE,QAAQ,CAAC,SAAS,KAAK,QAAQ;QAC/B,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QACrC,QAAQ,CAAC,2BAA2B,KAAK,UAAU,EACnD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,EAAU,EAAyB,EAAE,CAAC,CAAC;QACnD,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,IAAI,GAA4B,EAAE,CAAC;IAEzC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI;QACvB,CAAC,IAAI,EAAE,CAAC,CAAC;QACT,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACV,CAAC,IAAI,EAAE,CAAC,CAAC;KACD,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE7D,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,6FAA6F;AAC7F,SAAS,cAAc,CAAC,IAA2B;IACjD,IAAI,MAAgC,CAAC;IACrC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,KAAK,GAAG,CAAC,IAA2B,EAAW,EAAE;QACrD,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACpE,MAAM,GAAG,IAAI,CAAC;YAEd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE7C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;YAE/B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACzE,MAAM,GAAG,SAAS,CAAC;YACnB,OAAO,GAAG,IAAI,CAAC;YAEf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAKD,gGAAgG;AAChG,SAAS,cAAc,CAAC,IAAqB;IAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErD,IAAI,CAAC,IAAA,qBAAc,EAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAEjD,IAAI,IAAA,qBAAc,EAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,CAAC;IAED,OAAO,IAAA,qBAAc,EAAC,WAAW,CAAC,IAAI,IAAA,oBAAQ,EAAC,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,KAAK,CAAC;QAC1F,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE;QAC3C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,IAA2B,EAC3B,IAAY,EACZ,CAAS;IAET,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,IAAI,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;IAE1E,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAE7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzD,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED,4FAA4F;AAC5F,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,6FAA6F;AAC7F,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,IAAqB,EACrB,OAA2B;IAE3B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7F,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAA,wBAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEpF,IACE,CAAC,IAAA,wBAAiB,EAAC,GAAG,CAAC;QACvB,GAAG,CAAC,QAAQ,KAAK,KAAK;QACtB,CAAC,IAAA,qBAAc,EAAC,OAAO,CAAC;QACxB,CAAC,IAAA,oBAAQ,EAAC,OAAO,CAAC,KAAK,CAAC,EACxB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,qBAAc,CAAC,CAAC;IAE7C,IACE,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE7D,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAClF,CAAC,CAAC,EACF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,UAAU,CAAC,MAAM,GAAG,wBAAwB;QAAE,OAAO,SAAS,CAAC;IAEnE,MAAM,IAAI,GAA4B,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,MAA+B,EAAW,EAAE;QACxF,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,MAAM,KAAK,UAAU,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpF,OAAO,IAAI,CAAC,MAAM,IAAI,sBAAsB,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAE,CAAC;QAE3B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YAE3E,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAExC,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAClF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAExE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAClE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAEvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC;YACR,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAE3E,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,wFAAwF;AACxF,SAAS,kBAAkB,CACzB,IAA2B;IAE3B,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAA,oBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC;IAEpD,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,CAAS;IACvC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAElC,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAElC,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IAEnC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEtC,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAE9D,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC;IAE3B,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,GAAG,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC;IAEjE,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAE1F,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,mGAAmG;AAEnG,SAAS,YAAY,CACnB,IAAqB,EACrB,OAA2B;IAE3B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEpC,gEAAgE;IAChE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAE7B,IAAI,IAAA,qBAAc,EAAC,OAAO,CAAC,IAAI,IAAA,oBAAQ,EAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,gDAAgD;IAChD,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEzD,IAAI,2BAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAA,gBAAI,EAAC,QAAQ,CAAC,CAAC;QACrC,yFAAyF;QACzF,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAc,EAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAElF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAE1C,IAAI,CAAC,IAAA,qBAAc,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAc,EAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAEvE,OAAO,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAE7E,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO,cAAc,CAAC;QAExD,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAwB,EAAE,CAAC,IAAA,wBAAiB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAC3E,CAAC;QAEF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,yDAAyD;YACzD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChC,MAAM,IAAI,GAAG,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE1D,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,CAAC;QAED,2FAA2F;QAC3F,6FAA6F;QAC7F,qCAAqC;QACrC,IAAI,gCAAgC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3D,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACrC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;gBACjB,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE9C,IACE,QAAQ,KAAK,SAAS;YACtB,SAAS,KAAK,SAAS;YACvB,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;YAChC,QAAQ,CAAC,IAAI,KAAK,MAAM;YACxB,SAAS,CAAC,IAAI,KAAK,MAAM,EACzB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAE7D,OAAO,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC;YAEjD,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,wEAAwE;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACzC,IAAI,CAAC,IAAA,wBAAiB,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YAClF,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YACnC,MAAM,IAAI,GAAG,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE1D,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAI,EAAC,QAAQ,CAAC,CAAC;QAC5C,4EAA4E;QAC5E,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAExD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5E,OAAO,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1F,CAAC;QAED,6EAA6E;QAC7E,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAE7C,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;gBACpC,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,KAAK,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAA,gBAAI,EAAC,QAAQ,CAAC,CAAC;QAErC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI;YAC5B,CAAC,IAAI,EAAE,KAAK,CAAC;YACb,CAAC,KAAK,EAAE,IAAI,CAAC;SACL,EAAE,CAAC;YACX,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAE1C,IAAI,WAAW,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACvE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,EAAE;oBAClD,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6FAA6F;AAC7F,SAAS,gCAAgC,CACvC,IAA2B,EAC3B,KAA4B,EAC5B,OAA2B;IAE3B,OAAO;QACL,CAAC,IAAI,EAAE,KAAK,CAAC;QACb,CAAC,KAAK,EAAE,IAAI,CAAC;KACd,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAClB,IAAA,qBAAc,EAAC,MAAO,CAAC;QACvB,IAAA,wBAAiB,EAAC,KAAM,CAAC;QACzB,KAAK,CAAC,QAAQ,KAAK,WAAW;QAC9B,IAAA,+BAAqB,EAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,UAAU,CACvE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAC5B,QAAgB,EAChB,IAA2B,EAC3B,KAA4B,EAC5B,OAA2B;IAE3B,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC7D,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAE9E,IAAI,CAAC,IAAA,qBAAc,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,+BAAqB,EAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;IAE3C,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,UAAU,GAAG,QAAQ,CAAC,2BAA2B,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAEtF,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEvC,MAAM,YAAY,GAChB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAE3F,OAAO;QACL,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI;QAC5C,KAAK,EAAE,IAAI;QACX,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CACf,KAAc,EACd,QAAiC,EACjC,OAA2B;IAE3B,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,MAAM,KAAK,GAAG,CAAC,OAA8B,EAAQ,EAAE;QACrD,IAAI,IAAA,uBAAY,EAAC,OAAO,CAAC,KAAK,SAAS;YAAE,OAAO;QAEhD,0FAA0F;QAC1F,gDAAgD;QAChD,IAAI,IAAA,wBAAiB,EAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,IAAI,+BAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;;gBAC3E,UAAU,GAAG,IAAI,CAAC;YAEvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,CAAC;YAAE,OAAO;QACrC,MAAM,QAAQ,GAAG,IAAA,+BAAqB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;YAAE,OAAO;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEzC,IAAI,IAAI,KAAK,SAAS;YAAE,UAAU,GAAG,IAAI,CAAC;;YACrC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAExB,OAAO;QACL,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI;QAChC,KAAK,EAAE,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACvC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;KAC1C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ,CACtB,MAAoB,EACpB,QAAgC;IAEhC,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,KAAY,EAAyB,EAAE,CAAC,CAAC;QAC1E,QAAQ;QACR,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;KAC9B,CAAC,CAAC;IAEH,QAAQ,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,KAAK,SAAS;YACZ,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACnF;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,IAAqB,EACrB,OAA2B;IAE3B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAI,EAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE1C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/E,CAAC;QAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEzD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAEvD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAChF,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,SAAS,gBAAgB,CACvB,OAA8B,EAC9B,IAAa;IAEb,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3E,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEhF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAMD,SAAS,SAAS,CAAC,KAAY;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAElC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAExC,QAAQ,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAa,EAAE,OAAc;IAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEvC,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,IAAI,CAAC;AACrF,CAAC;AAED,8FAA8F;AAC9F,SAAS,WAAW,CAAC,OAA8B;IACjD,IAAI,IAAA,qBAAc,EAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE7D,IAAI,IAAA,wBAAiB,EAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAE/C,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;IAClD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mGAAmG;AACnG,SAAS,eAAe,CAAC,OAA8B;IACrD,IAAI,IAAA,qBAAc,EAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAED,IAAI,IAAA,wBAAiB,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAY,EAAE,CAAC;QAE7B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,IAAA,qBAAc,EAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YAElC,IAAI,IAAI,KAAK,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAClC,IAAI,IAAI,KAAK,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;gBACtC,OAAO,SAAS,CAAC;QACxB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAClB,OAA8B,EAC9B,OAA2B;IAE3B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IAEzE,IAAI,IAAA,wBAAiB,EAAC,OAAO,CAAC;QAAE,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAExE,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAA,+BAAqB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEzC,yFAAyF;IACzF,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEtF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,IAAqB,EACrB,OAA2B;IAE3B,IAAI,CAAC,+BAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7F,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpF,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5F,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,eAAe,CACtB,OAA8B,EAC9B,OAA2B;IAE3B,OAAO,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC;AAC7C,CAAC;AAED,gGAAgG;AAChG,SAAS,UAAU,CAAC,QAAgC;IAClD,QAAQ,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC3B,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC,SAAS,CAAC;QAC5B;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,QAAgC;IACpD,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjF,IAAI,QAAQ,CAAC,2BAA2B,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAEtE,OAAO,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,OAA8B,EAC9B,OAA2B;IAE3B,IAAI,IAAA,qBAAc,EAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAA,+BAAqB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QAErC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAE9C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAEvE,MAAM,QAAQ,GACZ,IAAA,uBAAa,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS;YACtD,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAG,QAAQ,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvE,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;IACvF,CAAC;IAED,IAAI,IAAA,wBAAiB,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC7D,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAE9C,IACE,UAAU,KAAK,SAAS;YACxB,CAAC,IAAA,qBAAc,EAAC,UAAU,CAAC;YAC3B,MAAM,KAAK,SAAS;YACpB,CAAC,IAAA,wBAAiB,EAAC,MAAM,CAAC;YAC1B,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAC5B,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE/C,IACE,UAAU,KAAK,SAAS;YACxB,CAAC,IAAA,qBAAc,EAAC,UAAU,CAAC;YAC3B,QAAQ,KAAK,SAAS;YACtB,CAAC,IAAA,qBAAc,EAAC,QAAQ,CAAC,EACzB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAA,+BAAqB,EAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAExE,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAEzC,yFAAyF;QACzF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,wFAAwF;AACxF,SAAS,qBAAqB,CAC5B,OAA2B,EAC3B,SAAiB,EACjB,KAAa;IAEb,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC;IAEpE,OAAO,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;AAC9C,CAAC"}
|
package/lib/value.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type PrismaValue = string | number | boolean | null | undefined | Date | PrismaValue[] | {
|
|
2
|
+
[key: string]: PrismaValue;
|
|
3
|
+
};
|
|
4
|
+
export type PrismaFilter = {
|
|
5
|
+
[key: string]: PrismaValue;
|
|
6
|
+
};
|
|
7
|
+
export declare const isPrismaFilter: (value: PrismaValue) => value is PrismaFilter;
|
|
8
|
+
//# sourceMappingURL=value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../src/value.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,IAAI,GACJ,WAAW,EAAE,GACb;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAE1D,eAAO,MAAM,cAAc,GAAI,OAAO,WAAW,KAAG,KAAK,IAAI,YACS,CAAC"}
|
package/lib/value.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPrismaFilter = void 0;
|
|
4
|
+
const narrowing_1 = require("./narrowing");
|
|
5
|
+
const isPrismaFilter = (value) => (0, narrowing_1.isObject)(value) && !Array.isArray(value) && !(value instanceof Date);
|
|
6
|
+
exports.isPrismaFilter = isPrismaFilter;
|
|
7
|
+
//# sourceMappingURL=value.js.map
|
package/lib/value.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../src/value.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAchC,MAAM,cAAc,GAAG,CAAC,KAAkB,EAAyB,EAAE,CAC1E,IAAA,oBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC;AAD1D,QAAA,cAAc,kBAC4C"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cerbos/orm-prisma",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"homepage": "https://cerbos.dev",
|
|
5
5
|
"description": "Prisma adapter for Cerbos query plans",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cerbos/query-plan-adapters",
|
|
9
|
-
"directory": "
|
|
9
|
+
"directory": "prisma"
|
|
10
10
|
},
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/cerbos/query-plan-adapters/issues"
|
|
@@ -34,56 +34,66 @@
|
|
|
34
34
|
"access": "public",
|
|
35
35
|
"provenance": true
|
|
36
36
|
},
|
|
37
|
+
"//test": "`test` is the translator unit test: offline, so no Cerbos sidecar, no `db push`, and no generated client. It is also engine-agnostic — it produces where-inputs and never hands one to a Prisma client — which is why it has no v6/v7 split. Only `test:adversarial*` needs a store; it replays the recorded goldens and starts no PDP.",
|
|
37
38
|
"scripts": {
|
|
38
|
-
"clean": "rimraf lib",
|
|
39
39
|
"build": "tsc --build",
|
|
40
40
|
"typecheck": "npm run typecheck:v7 && npm run typecheck:v6",
|
|
41
41
|
"typecheck:v6": "tsc -p tsconfig.typecheck.v6.json",
|
|
42
42
|
"typecheck:v7": "tsc -p tsconfig.typecheck.json",
|
|
43
43
|
"prepare": "npm run build",
|
|
44
|
-
"version": "git add -A src",
|
|
45
44
|
"prisma:generate": "bash scripts/generate-clients.sh all",
|
|
46
45
|
"prisma:generate:v6": "bash scripts/generate-clients.sh 6",
|
|
47
46
|
"prisma:generate:v7": "bash scripts/generate-clients.sh 7",
|
|
48
|
-
"test": "
|
|
49
|
-
"test:v6": "node node_modules/prisma-v6/build/index.js db push --force-reset --skip-generate --schema=prisma/schema.v6.prisma && PRISMA_VERSION=6 cerbos run --log-level=error --set=storage.disk.directory=../policies --set=telemetry.disabled=true -- jest src/index.test.ts",
|
|
50
|
-
"test:v7": "node node_modules/prisma/build/index.js db push --force-reset && PRISMA_VERSION=7 cerbos run --log-level=error --set=storage.disk.directory=../policies --set=telemetry.disabled=true -- jest src/index.test.ts",
|
|
47
|
+
"test": "jest",
|
|
51
48
|
"test:adversarial": "npm run test:adversarial:v7",
|
|
52
|
-
"test:adversarial:v6": "npm run prisma:generate:v6 && node node_modules/prisma-v6/build/index.js db push --
|
|
53
|
-
"test:adversarial:v7": "npm run prisma:generate:v7 && node node_modules/prisma/build/index.js db push --
|
|
54
|
-
"
|
|
49
|
+
"test:adversarial:v6": "npm run prisma:generate:v6 && node -e \"for (const f of ['prisma/dev-adversarial.db', 'prisma/dev-adversarial.db-journal']) require('fs').rmSync(f, { force: true })\" && node node_modules/prisma-v6/build/index.js db push --skip-generate --schema=prisma/schema.adversarial.v6.prisma && PRISMA_VERSION=6 jest --config jest.adversarial.config.js",
|
|
50
|
+
"test:adversarial:v7": "npm run prisma:generate:v7 && node -e \"for (const f of ['prisma/dev-adversarial.db', 'prisma/dev-adversarial.db-journal']) require('fs').rmSync(f, { force: true })\" && node node_modules/prisma/build/index.js db push --schema=prisma/schema.adversarial.prisma --url=file:./prisma/dev-adversarial.db && PRISMA_VERSION=7 jest --config jest.adversarial.config.js",
|
|
51
|
+
"test:adversarial:postgres": "npm run test:adversarial:postgres:v7",
|
|
52
|
+
"test:adversarial:postgres:v6": "npm run prisma:generate:v6 && ADAPTER_TEST_DB=postgres PRISMA_VERSION=6 jest --config jest.adversarial.config.js",
|
|
53
|
+
"test:adversarial:postgres:v7": "npm run prisma:generate:v7 && ADAPTER_TEST_DB=postgres PRISMA_VERSION=7 jest --config jest.adversarial.config.js",
|
|
54
|
+
"test:adversarial:mysql": "npm run test:adversarial:mysql:v7",
|
|
55
|
+
"test:adversarial:mysql:v6": "npm run prisma:generate:v6 && ADAPTER_TEST_DB=mysql PRISMA_VERSION=6 jest --config jest.adversarial.config.js",
|
|
56
|
+
"test:adversarial:mysql:v7": "npm run prisma:generate:v7 && ADAPTER_TEST_DB=mysql PRISMA_VERSION=7 jest --config jest.adversarial.config.js"
|
|
55
57
|
},
|
|
56
58
|
"engines": {
|
|
57
59
|
"node": ">=22.0.0"
|
|
58
60
|
},
|
|
59
61
|
"devDependencies": {
|
|
62
|
+
"@bufbuild/protobuf": "^2.15.0",
|
|
63
|
+
"@cerbos/api": "^0.11.2",
|
|
64
|
+
"@cerbos/core": "^0.33.2",
|
|
65
|
+
"@cerbos/grpc": "^0.29.3",
|
|
66
|
+
"@cerbos/http": "^0.30.2",
|
|
67
|
+
"@grpc/grpc-js": "^1.14.5",
|
|
60
68
|
"@jest/globals": "^30.2.0",
|
|
61
69
|
"@prisma/adapter-better-sqlite3": "^7.5.0",
|
|
70
|
+
"@prisma/adapter-mariadb": "^7.9.1",
|
|
71
|
+
"@prisma/adapter-pg": "^7.5.0",
|
|
62
72
|
"@prisma/client": "^7.5.0",
|
|
63
73
|
"@prisma/client-v6": "npm:@prisma/client@^6.0.0",
|
|
74
|
+
"@testcontainers/mysql": "^12.1.0",
|
|
75
|
+
"@testcontainers/postgresql": "^12.1.0",
|
|
64
76
|
"@tsconfig/node24": "^24.0.3",
|
|
65
77
|
"@tsconfig/strictest": "^2.0.8",
|
|
66
78
|
"@types/jest": "^30.0.0",
|
|
67
79
|
"@types/node": "^24.0.0",
|
|
68
80
|
"expect-type": "^1.1.0",
|
|
81
|
+
"mariadb": "^3.5.3",
|
|
69
82
|
"prisma": "^7.5.0",
|
|
70
83
|
"prisma-v6": "npm:prisma@^6.0.0",
|
|
71
|
-
"rimraf": "^6.0.0",
|
|
72
84
|
"ts-jest": "^29.4.6",
|
|
73
|
-
"ts-node": "^10.4.0",
|
|
74
85
|
"typescript": "^6.0.0"
|
|
75
86
|
},
|
|
76
87
|
"peerDependencies": {
|
|
88
|
+
"@cerbos/core": "^0.32.0 || ^0.33.0",
|
|
77
89
|
"@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0"
|
|
78
90
|
},
|
|
79
|
-
"dependencies": {
|
|
80
|
-
"@cerbos/core": "^0.32.0",
|
|
81
|
-
"@cerbos/grpc": "^0.28.0"
|
|
82
|
-
},
|
|
83
91
|
"overrides": {
|
|
84
92
|
"@prisma/dev": {
|
|
85
93
|
"@hono/node-server": "^2.0.0"
|
|
86
|
-
}
|
|
94
|
+
},
|
|
95
|
+
"mysql2": "^3.22.0",
|
|
96
|
+
"mariadb": "$mariadb"
|
|
87
97
|
},
|
|
88
98
|
"keywords": [
|
|
89
99
|
"cerbos",
|
|
@@ -91,5 +101,8 @@
|
|
|
91
101
|
"orm",
|
|
92
102
|
"authorization",
|
|
93
103
|
"permissions"
|
|
94
|
-
]
|
|
104
|
+
],
|
|
105
|
+
"dependencies": {
|
|
106
|
+
"re2js": "^2.9.1"
|
|
107
|
+
}
|
|
95
108
|
}
|