@botanary/agent 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/LICENSE +21 -0
- package/README.md +123 -0
- package/dist/errors.d.ts +49 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +40 -0
- package/dist/errors.js.map +1 -0
- package/dist/exact-action.d.ts +48 -0
- package/dist/exact-action.d.ts.map +1 -0
- package/dist/exact-action.js +178 -0
- package/dist/exact-action.js.map +1 -0
- package/dist/fingerprint.d.ts +21 -0
- package/dist/fingerprint.d.ts.map +1 -0
- package/dist/fingerprint.js +47 -0
- package/dist/fingerprint.js.map +1 -0
- package/dist/generated/routes.d.ts +68 -0
- package/dist/generated/routes.d.ts.map +1 -0
- package/dist/generated/routes.js +92 -0
- package/dist/generated/routes.js.map +1 -0
- package/dist/generated/schema.d.ts +2903 -0
- package/dist/generated/schema.d.ts.map +1 -0
- package/dist/generated/schema.js +2 -0
- package/dist/generated/schema.js.map +1 -0
- package/dist/http-path.d.ts +92 -0
- package/dist/http-path.d.ts.map +1 -0
- package/dist/http-path.js +201 -0
- package/dist/http-path.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/pairing-code.d.ts +41 -0
- package/dist/pairing-code.d.ts.map +1 -0
- package/dist/pairing-code.js +60 -0
- package/dist/pairing-code.js.map +1 -0
- package/dist/registration.d.ts +21 -0
- package/dist/registration.d.ts.map +1 -0
- package/dist/registration.js +62 -0
- package/dist/registration.js.map +1 -0
- package/dist/runtime.d.ts +203 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +559 -0
- package/dist/runtime.js.map +1 -0
- package/dist/signer.d.ts +33 -0
- package/dist/signer.d.ts.map +1 -0
- package/dist/signer.js +13 -0
- package/dist/signer.js.map +1 -0
- package/dist/transport.d.ts +13 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +135 -0
- package/dist/transport.js.map +1 -0
- package/dist/validation.d.ts +15 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +108 -0
- package/dist/validation.js.map +1 -0
- package/dist/views.d.ts +182 -0
- package/dist/views.d.ts.map +1 -0
- package/dist/views.js +2 -0
- package/dist/views.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/generated/schema.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,KAAK;IAClB,cAAc,EAAE;QACZ,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;;;;WAMG;QACH,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,uBAAuB,EAAE;QACrB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;WAGG;QACH,IAAI,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,iBAAiB,EAAE;QACf,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;WAGG;QACH,IAAI,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,YAAY,EAAE;QACV,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;;;WAKG;QACH,GAAG,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAChC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,kBAAkB,EAAE;QAChB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;WAGG;QACH,GAAG,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;;WAIG;QACH,IAAI,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACtC,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACR,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;WAGG;QACH,GAAG,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,SAAS,EAAE;QACP,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,4BAA4B;QAC5B,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9B,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,cAAc,EAAE;QACZ,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;WAGG;QACH,GAAG,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACR,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,oCAAoC;QACpC,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9B,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,qCAAqC,EAAE;QACnC,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,kBAAkB;gBAClB,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC;aAC1D,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;;WAIG;QACH,IAAI,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,2CAA2C,EAAE;QACzC,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;WAGG;QACH,IAAI,EAAE,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACR,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;;WAIG;QACH,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,qBAAqB,EAAE;QACnB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,QAAQ,EAAE,MAAM,CAAC;aACpB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,+BAA+B;QAC/B,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7B,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,yCAAyC,EAAE;QACvC,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;WAGG;QACH,GAAG,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,iBAAiB,EAAE;QACf,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;WAGG;QACH,GAAG,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACpC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,8BAA8B,EAAE;QAC5B,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;WAGG;QACH,GAAG,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,cAAc,EAAE;QACZ,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;WAGG;QACH,GAAG,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAChC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,0BAA0B,EAAE;QACxB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;;WAIG;QACH,IAAI,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,+BAA+B,EAAE;QAC7B,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;;WAIG;QACH,GAAG,EAAE,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAC/C,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,mBAAmB,EAAE;QACjB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;WAGG;QACH,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,wBAAwB,EAAE;QACtB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF;;;WAGG;QACH,GAAG,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACpC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;CACL;AACD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE;QACL,oSAAoS;QACpS,cAAc,EAAE;YACZ;;;eAGG;YACH,IAAI,EAAE,MAAM,CAAC;YACb;;;eAGG;YACH,SAAS,EAAE,MAAM,CAAC;YAClB;;;eAGG;YACH,SAAS,EAAE,MAAM,CAAC;YAClB,uGAAuG;YACvG,SAAS,EAAE,MAAM,CAAC;YAClB;;;;;eAKG;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB;;;eAGG;YACH,OAAO,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,QAAQ,EAAE;YACN,KAAK,EAAE;gBACH;;;mBAGG;gBACH,IAAI,EAAE,MAAM,CAAC;gBACb,uDAAuD;gBACvD,OAAO,EAAE,MAAM,CAAC;gBAChB,aAAa,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;gBAC9D,OAAO,CAAC,EAAE;oBACN,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC1B,GAAG,IAAI,CAAC;gBACT,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC;SACL,CAAC;QACF;;;WAGG;QACH,aAAa,EAAE,cAAc,GAAG,qBAAqB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,SAAS,GAAG,sBAAsB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,yBAAyB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,sBAAsB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,8BAA8B,GAAG,mBAAmB,GAAG,wBAAwB,GAAG,2BAA2B,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,YAAY,GAAG,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,GAAG,qBAAqB,GAAG,wBAAwB,GAAG,kBAAkB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,2BAA2B,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,oBAAoB,GAAG,sBAAsB,GAAG,0BAA0B,GAAG,2BAA2B,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,yBAAyB,GAAG,8BAA8B,GAAG,8BAA8B,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,6BAA6B,GAAG,4BAA4B,GAAG,wBAAwB,GAAG,+BAA+B,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,yBAAyB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,2BAA2B,GAAG,sBAAsB,GAAG,2BAA2B,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,yBAAyB,GAAG,yBAAyB,GAAG,mBAAmB,GAAG,2BAA2B,GAAG,yBAAyB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;QAC7wE,yGAAyG;QACzG,sBAAsB,EAAE;YACpB,2FAA2F;YAC3F,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;SAC7C,CAAC;QACF;;;WAGG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;;WAGG;QACH,MAAM,EAAE,MAAM,CAAC;QACf,6LAA6L;QAC7L,iBAAiB,EAAE;YACf,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1C,qEAAqE;YACrE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvC;;;eAGG;YACH,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,2GAA2G;QAC3G,oBAAoB,EAAE;YAClB;;;eAGG;YACH,KAAK,EAAE,MAAM,CAAC;YACd,wBAAwB;YACxB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF;;;WAGG;QACH,SAAS,EAAE;YACP,kFAAkF;YAClF,EAAE,EAAE,MAAM,CAAC;YACX,2BAA2B;YAC3B,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1C,sBAAsB;YACtB,WAAW,EAAE,MAAM,CAAC;YACpB,wBAAwB;YACxB,WAAW,EAAE,MAAM,CAAC;YACpB,uDAAuD;YACvD,SAAS,EAAE,MAAM,CAAC;YAClB,0bAA0b;YAC1b,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YACxD,qUAAqU;YACrU,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YAClD,2fAA2f;YAC3f,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;SACnE,CAAC;QACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAgEG;QACH,UAAU,EAAE;YACR,kBAAkB;YAClB,EAAE,EAAE,MAAM,CAAC;YACX,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9C;;;eAGG;YACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B;;;eAGG;YACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC/B,uBAAuB;YACvB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC9C;;;eAGG;YACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACnD,wBAAwB;YACxB,KAAK,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAClD,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;YAC9C,iFAAiF;YACjF,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YACnD;;;eAGG;YACH,YAAY,EAAE,MAAM,CAAC;YACrB,wBAAwB;YACxB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,wBAAwB;YACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B;;;eAGG;YACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC5B,CAAC;QACF,qBAAqB;QACrB,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;QAC1E,qBAAqB;QACrB,gBAAgB,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;QAC9D,+mBAA+mB;QAC/mB,SAAS,EAAE;YACP,uGAAuG;YACvG,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,YAAY,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;YAC3D;;;eAGG;YACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,wGAAwG;YACxG,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAChE,yGAAyG;YACzG,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5D,wBAAwB;YACxB,SAAS,EAAE,MAAM,CAAC;YAClB,iHAAiH;YACjH,WAAW,EAAE,OAAO,CAAC;YACrB,kYAAkY;YAClY,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;SACvD,CAAC;QACF,WAAW,EAAE;YACT,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YACzC,kBAAkB;YAClB,MAAM,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,sDAAsD;QACtD,QAAQ,EAAE;YACN;;;eAGG;YACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB;;;eAGG;YACH,MAAM,EAAE,MAAM,CAAC;YACf,qBAAqB;YACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;SACrD,CAAC;QACF,4TAA4T;QAC5T,gBAAgB,EAAE;YACd,gCAAgC;YAChC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1C;;;eAGG;YACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC3B,CAAC;QACF;;;;;;WAMG;QACH,gBAAgB,EAAE;YACd,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACzC,gCAAgC;YAChC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB;;;;eAIG;YACH,SAAS,EAAE,MAAM,EAAE,CAAC;SACvB,CAAC;QACF;;;;;;;;;;WAUG;QACH,cAAc,EAAE;YACZ,8MAA8M;YAC9M,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACzC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YACzC,4EAA4E;YAC5E,YAAY,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,4LAA4L;QAC5L,UAAU,EAAE;YACR,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YACzC,mBAAmB;YACnB,KAAK,EAAE,MAAM,CAAC;YACd,oBAAoB;YACpB,KAAK,EAAE,MAAM,CAAC;YACd,oBAAoB;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,wBAAwB;YACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC7B,CAAC;QACF,wGAAwG;QACxG,iBAAiB,EAAE;YACf,kGAAkG;YAClG,KAAK,EAAE,OAAO,CAAC;YACf;;;;;eAKG;YACH,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB;;;eAGG;YACH,OAAO,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,sXAAsX;QACtX,YAAY,EAAE;YACV,mCAAmC;YACnC,EAAE,EAAE,MAAM,CAAC;YACX,uDAAuD;YACvD,OAAO,EAAE,MAAM,CAAC;YAChB,wDAAwD;YACxD,SAAS,EAAE,MAAM,CAAC;YAClB,4EAA4E;YAC5E,KAAK,EAAE;gBACH;;;mBAGG;gBACH,EAAE,EAAE,MAAM,CAAC;gBACX;;;mBAGG;gBACH,IAAI,EAAE,MAAM,CAAC;gBACb;;;mBAGG;gBACH,KAAK,EAAE,MAAM,CAAC;gBACd;;;mBAGG;gBACH,OAAO,EAAE,MAAM,CAAC;aACnB,EAAE,CAAC;YACJ;;;eAGG;YACH,aAAa,EAAE,MAAM,CAAC;YACtB;;;eAGG;YACH,MAAM,EAAE,MAAM,CAAC;YACf;;;eAGG;YACH,QAAQ,EAAE,MAAM,CAAC;YACjB;;;eAGG;YACH,SAAS,EAAE,MAAM,CAAC;YAClB;;;eAGG;YACH,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;SACzD,CAAC;QACF,kPAAkP;QAClP,iBAAiB,EAAE;YACf;;;eAGG;YACH,MAAM,EAAE,MAAM,CAAC;YACf,0EAA0E;YAC1E,KAAK,EAAE;gBACH;;;mBAGG;gBACH,EAAE,EAAE,MAAM,CAAC;gBACX;;;mBAGG;gBACH,IAAI,EAAE,MAAM,CAAC;gBACb;;;mBAGG;gBACH,KAAK,EAAE,MAAM,CAAC;gBACd;;;mBAGG;gBACH,OAAO,EAAE,MAAM,CAAC;aACnB,EAAE,CAAC;SACP,CAAC;QACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAqGG;QACH,cAAc,EAAE;YACZ,wBAAwB;YACxB,SAAS,EAAE,MAAM,CAAC;YAClB;;;eAGG;YACH,SAAS,EAAE,MAAM,CAAC;YAClB;;;eAGG;YACH,cAAc,EAAE,MAAM,CAAC;YACvB,skBAAskB;YACtkB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;YACnD;;;eAGG;YACH,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD;;;eAGG;YACH,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC5D;;;eAGG;YACH,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC9D;;;;eAIG;YACH,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;YAC1C,wBAAwB;YACxB,IAAI,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,maAAma;QACna,aAAa,EAAE;YACX;;;eAGG;YACH,QAAQ,EAAE,MAAM,CAAC;YACjB,oBAAoB;YACpB,MAAM,EAAE,MAAM,CAAC;YACf;;;eAGG;YACH,MAAM,EAAE,MAAM,CAAC;YACf;;;eAGG;YACH,QAAQ,EAAE,MAAM,CAAC;YACjB;;;eAGG;YACH,IAAI,EAAE,MAAM,CAAC;YACb,gwBAAgwB;YAChwB,aAAa,EAAE,OAAO,CAAC;SAC1B,CAAC;QACF,oaAAoa;QACpa,YAAY,EAAE;YACV;;;eAGG;YACH,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,oBAAoB;YACpB,MAAM,EAAE,MAAM,CAAC;YACf,wBAAwB;YACxB,IAAI,EAAE,MAAM,CAAC;YACb,wBAAwB;YACxB,KAAK,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/C,iBAAiB;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,sBAAsB;YACtB,MAAM,EAAE,MAAM,CAAC;YACf,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,iBAAiB;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,iBAAiB;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,YAAY,EAAE,OAAO,CAAC;YACtB,GAAG,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAChD,8PAA8P;YAC9P,SAAS,EAAE,OAAO,CAAC;YACnB;;;eAGG;YACH,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;YAC/C,+LAA+L;YAC/L,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB;;;eAGG;YACH,gBAAgB,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;YACxD,yFAAyF;YACzF,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,mFAAmF;YACnF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB;;;eAGG;YACH,SAAS,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,8EAA8E;QAC9E,SAAS,EAAE;YACP,oBAAoB;YACpB,MAAM,EAAE,MAAM,CAAC;YACf;;;eAGG;YACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,iBAAiB;YACjB,MAAM,EAAE,MAAM,CAAC;YACf;;;eAGG;YACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAChD,wBAAwB;YACxB,UAAU,EAAE,MAAM,CAAC;YACnB,yBAAyB;YACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB;;;eAGG;YACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACrC,CAAC;QACF;;;WAGG;QACH,cAAc,EAAE,IAAI,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;QACxD,iPAAiP;QACjP,kBAAkB,EAAE;YAChB,mBAAmB;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,mBAAmB;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,6BAA6B;YAC7B,KAAK,EAAE,MAAM,CAAC;YACd,6BAA6B;YAC7B,GAAG,EAAE,MAAM,CAAC;YACZ,sFAAsF;YACtF,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;YACpD,iBAAiB;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,SAAS,EAAE,MAAM,CAAC;YAClB,YAAY,EAAE,OAAO,CAAC;YACtB,GAAG,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAChD,yFAAyF;YACzF,SAAS,EAAE,OAAO,CAAC;YACnB,qBAAqB;YACrB,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC;SACrC,CAAC;QACF;;;WAGG;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,4PAA4P;QAC5P,mBAAmB,EAAE;YACjB,mBAAmB;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,2GAA2G;YAC3G,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YACvD;;;eAGG;YACH,SAAS,EAAE,MAAM,CAAC;YAClB,iBAAiB;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB;;;eAGG;YACH,GAAG,EAAE,MAAM,CAAC;SACf,CAAC;QACF;;;WAGG;QACH,cAAc,EAAE,MAAM,CAAC;QACvB,iPAAiP;QACjP,KAAK,EAAE;YACH,wBAAwB;YACxB,IAAI,EAAE,MAAM,CAAC;YACb;;;eAGG;YACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB;;;eAGG;YACH,QAAQ,EAAE,MAAM,CAAC;YACjB;;;;eAIG;YACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;YAC3C;;;eAGG;YACH,GAAG,EAAE,MAAM,CAAC;YACZ,mBAAmB;YACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,qBAAqB;YACrB,OAAO,EAAE,OAAO,CAAC;YACjB,mBAAmB;YACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC7B;;;;eAIG;YACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;YACtC;;;eAGG;YACH,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB;;;eAGG;YACH,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB;;;;;;eAMG;YACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB;;;eAGG;YACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACtC,CAAC;QACF,wRAAwR;QACxR,SAAS,EAAE;YACP,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;YAC/C,yBAAyB;YACzB,KAAK,EAAE,MAAM,CAAC;YACd,wMAAwM;YACxM,SAAS,EAAE,OAAO,CAAC;YACnB,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YACjD,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,SAAS,EAAE,OAAO,CAAC;YACnB,2DAA2D;YAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB;;;;eAIG;YACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAChC,CAAC;QACF,qBAAqB;QACrB,aAAa,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;QACxD,OAAO,EAAE;YACL,yBAAyB;YACzB,EAAE,EAAE,MAAM,CAAC;YACX,4BAA4B;YAC5B,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1C,gNAAgN;YAChN,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAClC,6BAA6B;YAC7B,IAAI,EAAE,MAAM,CAAC;YACb,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;YACnE;;;eAGG;YACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB;;;eAGG;YACH,GAAG,CAAC,EAAE,MAAM,CAAC;YACb;;;eAGG;YACH,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;YAC5C,kSAAkS;YAClS,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;YAC5C,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAChD,krBAAkrB;YAClrB,MAAM,EAAE,OAAO,CAAC;YAChB;;;eAGG;YACH,KAAK,EAAE,MAAM,CAAC;YACd,yMAAyM;YACzM,MAAM,EAAE,OAAO,CAAC;YAChB;;;;eAIG;YACH,OAAO,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC;YACrC,wBAAwB;YACxB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB;;;eAGG;YACH,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,gsBAAgsB;YAChsB,MAAM,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;SACpD,CAAC;QACF,qBAAqB;QACrB,uBAAuB,EAAE,gBAAgB,GAAG,UAAU,CAAC;QACvD,+NAA+N;QAC/N,YAAY,EAAE;YACV,qBAAqB;YACrB,OAAO,EAAE,MAAM,CAAC;YAChB;;;eAGG;YACH,SAAS,EAAE,MAAM,CAAC;YAClB,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;YACnE,wJAAwJ;YACxJ,MAAM,EAAE,OAAO,CAAC;YAChB;;;;;;eAMG;YACH,aAAa,EAAE,OAAO,CAAC;SAC1B,CAAC;QACF,w5BAAw5B;QACx5B,oBAAoB,EAAE;YAClB;;;eAGG;YACH,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;YAC7B,oIAAoI;YACpI,SAAS,EAAE,MAAM,CAAC;YAClB,4IAA4I;YAC5I,MAAM,EAAE,MAAM,CAAC;YACf;;;eAGG;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,8ZAA8Z;YAC9Z,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,mIAAmI;YACnI,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,kMAAkM;YAClM,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,4IAA4I;YAC5I,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,2FAA2F;YAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;QACF,uGAAuG;QACvG,WAAW,EAAE;YACT,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAChD,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC5C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC7B,UAAU,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YACxD,4HAA4H;YAC5H,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACxD,sGAAsG;YACtG,YAAY,EAAE,OAAO,CAAC;YACtB,OAAO,EAAE,OAAO,CAAC;YACjB,uEAAuE;YACvE,OAAO,EAAE,OAAO,CAAC;YACjB,0LAA0L;YAC1L,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YACtD,0SAA0S;YAC1S,YAAY,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;YAC5D,iSAAiS;YACjS,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YACjD,iZAAiZ;YACjZ,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpD,kcAAkc;YAClc,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACvD,oSAAoS;YACpS,eAAe,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;YAClE,+TAA+T;YAC/T,YAAY,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC;YAC9D,oUAAoU;YACpU,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;SACrC,CAAC;QACF,qBAAqB;QACrB,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,cAAc,GAAG,cAAc,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,kBAAkB,GAAG,YAAY,GAAG,eAAe,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,GAAG,eAAe,GAAG,YAAY,GAAG,eAAe,GAAG,kBAAkB,GAAG,eAAe,GAAG,0BAA0B,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,0BAA0B,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;QAC1vB,gQAAgQ;QAChQ,cAAc,EAAE;YACZ,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACzC;;;eAGG;YACH,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YAClD,WAAW,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAClD,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;YACvC,sBAAsB;YACtB,YAAY,EAAE,MAAM,CAAC;YACrB,sBAAsB;YACtB,oBAAoB,EAAE,MAAM,CAAC;YAC7B,qBAAqB;YACrB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,0BAA0B;YAC1B,YAAY,EAAE,MAAM,CAAC;YACrB,0BAA0B;YAC1B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YACpD,6BAA6B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9C,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACxC,aAAa,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACpD,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC7C,qBAAqB;YACrB,OAAO,EAAE,MAAM,CAAC;SACnB,CAAC;QACF;;;WAGG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,6EAA6E;QAC7E,UAAU,EAAE;YACR,EAAE,EAAE,MAAM,CAAC;YACX,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YAChD,WAAW,EAAE,OAAO,CAAC;YACrB,aAAa,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;YAC9D,QAAQ,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;YACvD,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;YACxD,oBAAoB;YACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,0CAA0C;YAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,kBAAkB;YAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;YAC1C,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,wBAAwB;YACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC7B,CAAC;QACF,WAAW,EAAE;YACT,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;YAC/C,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;YACnD,SAAS,EAAE,OAAO,CAAC;SACtB,CAAC;QACF,+RAA+R;QAC/R,kBAAkB,EAAE;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;YAClB,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACjD,iFAAiF;YACjF,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC7C,kFAAkF;YAClF,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9C,4DAA4D;YAC5D,WAAW,EAAE,MAAM,CAAC;YACpB,iEAAiE;YACjE,eAAe,EAAE,MAAM,CAAC;YACxB,2EAA2E;YAC3E,aAAa,EAAE,MAAM,CAAC;SACzB,CAAC;QACF;;;;;;;;WAQG;QACH,SAAS,EAAE;YACP,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5C,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACxC;;;eAGG;YACH,SAAS,EAAE,MAAM,CAAC;YAClB,iBAAiB;YACjB,YAAY,EAAE,MAAM,CAAC;YACrB;;;eAGG;YACH,aAAa,EAAE,MAAM,CAAC;YACtB;;;eAGG;YACH,YAAY,EAAE,MAAM,CAAC;YACrB,iBAAiB;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,8EAA8E;YAC9E,cAAc,EAAE,MAAM,CAAC;YACvB,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9C,mHAAmH;YACnH,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9C;;;eAGG;YACH,YAAY,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,4dAA4d;QAC5d,YAAY,EAAE;YACV,kEAAkE;YAClE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACxC,0GAA0G;YAC1G,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5C,kGAAkG;YAClG,MAAM,EAAE,MAAM,CAAC;YACf,qFAAqF;YACrF,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;SACtD,CAAC;QACF,sMAAsM;QACtM,gBAAgB,EAAE;YACd,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;YACnC,+EAA+E;YAC/E,KAAK,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,2ZAA2Z;QAC3Z,SAAS,EAAE;YACP,oOAAoO;YACpO,YAAY,EAAE,MAAM,CAAC;YACrB,yRAAyR;YACzR,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;YACjC,mFAAmF;YACnF,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;YAC/B,qKAAqK;YACrK,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;YAClC;;;eAGG;YACH,QAAQ,EAAE,MAAM,CAAC;SACpB,CAAC;QACF;;;;;;WAMG;QACH,gBAAgB,EAAE;YACd,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YACxC,SAAS,EAAE,OAAO,CAAC;YACnB,2JAA2J;YAC3J,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;YACnB,qFAAqF;YACrF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;SACzB,CAAC;QACF;;;WAGG;QACH,QAAQ,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;QAC3C;;;;;;;;WAQG;QACH,eAAe,EAAE;YACb;;;eAGG;YACH,KAAK,EAAE,MAAM,CAAC;YACd,6OAA6O;YAC7O,MAAM,EAAE,MAAM,CAAC;YACf,8EAA8E;YAC9E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,gFAAgF;YAChF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,qfAAqf;YACrf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;SAC3B,CAAC;QACF,maAAma;QACna,eAAe,EAAE;YACb,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACjB,CAAC;QACF;;;WAGG;QACH,YAAY,EAAE;YACV,IAAI,EAAE,MAAM,CAAC;YACb,eAAe,EAAE,MAAM,CAAC;YACxB,cAAc,EAAE,MAAM,CAAC;SAC1B,CAAC;QACF,yBAAyB,EAAE;YACvB,SAAS,EAAE,MAAM,CAAC;YAClB,cAAc,EAAE,MAAM,CAAC;YACvB,OAAO,EAAE,MAAM,CAAC;YAChB,qBAAqB;YACrB,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;YAC5B,YAAY,EAAE,MAAM,CAAC;YACrB,iJAAiJ;YACjJ,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,8EAA8E;YAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;SAC3B,GAAG,CAAC;YACD,gBAAgB;YAChB,MAAM,EAAE,UAAU,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;SACrB,GAAG;YACA,gBAAgB;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,eAAe,EAAE,MAAM,CAAC;SAC3B,CAAC,CAAC;QACH,yBAAyB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG;YAC9D,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;SAC/D,CAAC;QACF,uBAAuB,EAAE;YACrB,YAAY,EAAE,MAAM,CAAC;YACrB,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,MAAM,CAAC;YAClB,cAAc,EAAE,MAAM,CAAC;YACvB,OAAO,EAAE,MAAM,CAAC;YAChB,qBAAqB;YACrB,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;YAC5B,YAAY,EAAE,MAAM,CAAC;YACrB,iJAAiJ;YACjJ,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,8EAA8E;YAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,gBAAgB;YAChB,SAAS,EAAE,QAAQ,CAAC;SACvB,CAAC;QACF,qGAAqG;QACrG,YAAY,EAAE;YACV,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAChD,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC5C,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YAChD,qHAAqH;YACrH,eAAe,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;SACrE,CAAC;QACF,sBAAsB,EAAE;YACpB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,aAAa,EAAE;YACX,uBAAuB;YACvB,EAAE,EAAE,MAAM,CAAC;YACX,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;YAC9C,MAAM,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YAChD,wBAAwB;YACxB,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACzB,CAAC;QACF,qBAAqB;QACrB,YAAY,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;QAChD,4FAA4F;QAC5F,eAAe,EAAE;YACb,oFAAoF;YACpF,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC1D,iEAAiE;YACjE,KAAK,EAAE,MAAM,CAAC;YACd,kXAAkX;YAClX,MAAM,EAAE,MAAM,CAAC;YACf,mNAAmN;YACnN,OAAO,EAAE;gBACL,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;aACzB,CAAC;YACF,uMAAuM;YACvM,gBAAgB,EAAE,OAAO,CAAC;YAC1B,8VAA8V;YAC9V,QAAQ,EAAE;gBACN,mMAAmM;gBACnM,eAAe,EAAE,MAAM,CAAC;gBACxB,8EAA8E;gBAC9E,cAAc,EAAE,MAAM,CAAC;aAC1B,CAAC;SACL,CAAC;QACF,4VAA4V;QAC5V,mBAAmB,EAAE;YACjB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,iGAAiG;YACjG,QAAQ,EAAE,MAAM,CAAC;YACjB,mXAAmX;YACnX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,mUAAmU;YACnU,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,OAAO,EAAE,MAAM,CAAC;YAChB,iZAAiZ;YACjZ,OAAO,EAAE,OAAO,CAAC;YACjB,8XAA8X;YAC9X,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,oRAAoR;YACpR,OAAO,EAAE,OAAO,CAAC;YACjB,+FAA+F;YAC/F,SAAS,EAAE,OAAO,CAAC;YACnB,wSAAwS;YACxS,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,uIAAuI;YACvI,aAAa,EAAE,MAAM,CAAC;YACtB,yJAAyJ;YACzJ,aAAa,EAAE,MAAM,CAAC;YACtB,iGAAiG;YACjG,SAAS,EAAE,MAAM,CAAC;YAClB,gJAAgJ;YAChJ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;YAC7B,iGAAiG;YACjG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;SAChC,CAAC;QACF,sJAAsJ;QACtJ,iBAAiB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,GAAG;YAC9D,+JAA+J;YAC/J,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzD,iGAAiG;YACjG,aAAa,EAAE,MAAM,CAAC;YACtB,ylBAAylB;YACzlB,WAAW,CAAC,EAAE;gBACV;;;mBAGG;gBACH,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC;gBAC3B,2IAA2I;gBAC3I,aAAa,EAAE,MAAM,CAAC;aACzB,GAAG,IAAI,CAAC;SACZ,CAAC;QACF,gEAAgE;QAChE,kBAAkB,EAAE;YAChB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,qBAAqB;YACrB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;YAC7D,OAAO,EAAE,MAAM,CAAC;YAChB,uOAAuO;YACvO,OAAO,EAAE,OAAO,CAAC;YACjB,+FAA+F;YAC/F,OAAO,EAAE,MAAM,CAAC;YAChB,iOAAiO;YACjO,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,sjBAAsjB;YACtjB,OAAO,EAAE,OAAO,CAAC;YACjB,kzBAAkzB;YAClzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;YAC/B;;;eAGG;YACH,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;YAC/E,wGAAwG;YACxG,YAAY,EAAE,MAAM,CAAC;YACrB,8qBAA8qB;YAC9qB,aAAa,EAAE;gBACX,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;gBACvB,WAAW,CAAC,EAAE,OAAO,CAAC;aACzB,GAAG,IAAI,CAAC;SACZ,CAAC;QACF,yEAAyE;QACzE,SAAS,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,+CAA+C;YAC/C,SAAS,EAAE,MAAM,CAAC;YAClB,0DAA0D;YAC1D,UAAU,EAAE,MAAM,CAAC;YACnB,wBAAwB;YACxB,SAAS,EAAE,MAAM,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,6CAA6C;YAC7C,KAAK,EAAE,MAAM,CAAC;YACd,0DAA0D;YAC1D,WAAW,EAAE,MAAM,CAAC;YACpB,wDAAwD;YACxD,KAAK,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,oWAAoW;QACpW,mBAAmB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,CAAC;QAC7H,qrBAAqrB;QACrrB,wBAAwB,EAAE;YACtB,aAAa,EAAE,MAAM,CAAC;YACtB;;;eAGG;YACH,MAAM,EAAE,OAAO,CAAC;YAChB,gDAAgD;YAChD,OAAO,EAAE,MAAM,CAAC;YAChB,yKAAyK;YACzK,YAAY,EAAE;gBACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;aAC1B,EAAE,CAAC;YACJ,mEAAmE;YACnE,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC1D,qDAAqD;YACrD,KAAK,EAAE,MAAM,CAAC;YACd,8JAA8J;YAC9J,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,4QAA4Q;QAC5Q,iBAAiB,EAAE;YACf,gDAAgD;YAChD,IAAI,EAAE,MAAM,CAAC;YACb,mDAAmD;YACnD,EAAE,EAAE,MAAM,CAAC;YACX,+EAA+E;YAC/E,KAAK,EAAE,MAAM,CAAC;YACd,mEAAmE;YACnE,UAAU,EAAE,MAAM,CAAC;YACnB,2KAA2K;YAC3K,WAAW,EAAE,MAAM,CAAC;YACpB,2JAA2J;YAC3J,KAAK,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,usBAAusB;QACvsB,0BAA0B,EAAE;YACxB,aAAa,EAAE,MAAM,CAAC;YACtB;;;eAGG;YACH,MAAM,EAAE,kBAAkB,CAAC;YAC3B,2EAA2E;YAC3E,UAAU,EAAE,MAAM,CAAC;YACnB;;;eAGG;YACH,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,wVAAwV;QACxV,wBAAwB,EAAE;YACtB,qBAAqB;YACrB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;YACxD,wFAAwF;YACxF,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,aAAa,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC3D,6FAA6F;YAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,gPAAgP;YAChP,SAAS,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,ySAAyS;QACzS,aAAa,EAAE;YACX,aAAa,EAAE,MAAM,CAAC;YACtB,qBAAqB;YACrB,MAAM,EAAE,OAAO,GAAG,kBAAkB,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;YAC5E,qBAAqB;YACrB,aAAa,EAAE,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;YACvE,wEAAwE;YACxE,SAAS,EAAE,OAAO,CAAC;YACnB,oGAAoG;YACpG,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,sFAAsF;YACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,iGAAiG;YACjG,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,+HAA+H;YAC/H,KAAK,CAAC,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC;gBAChB,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBAC1D,KAAK,EAAE,MAAM,CAAC;gBACd,SAAS,EAAE,MAAM,CAAC;aACrB,CAAC;SACL,CAAC;QACF,uBAAuB,EAAE;YACrB,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;YAC7B,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,wBAAwB;YACxB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,0BAA0B,EAAE;YACxB,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,wBAAwB;YACxB,SAAS,EAAE,MAAM,CAAC;YAClB,wBAAwB;YACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,qBAAqB;YACrB,SAAS,EAAE,qBAAqB,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,oBAAoB,GAAG,aAAa,CAAC;YACjI,qBAAqB;YACrB,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;YAC1F,+HAA+H;YAC/H,MAAM,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;SAC/B,CAAC;QACF,WAAW,EAAE;YACT,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;YAC7B,YAAY,EAAE,MAAM,CAAC;YACrB,cAAc,EAAE,MAAM,CAAC;YACvB,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;YAClB,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACjD,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/C,sBAAsB;YACtB,OAAO,EAAE,KAAK,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC;YACrB,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACnD,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC;YACvD,qBAAqB;YACrB,SAAS,EAAE,QAAQ,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAC;YACjI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAC3D,iBAAiB,EAAE,MAAM,CAAC;YAC1B,kBAAkB;YAClB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,qBAAqB;YACrB,YAAY,EAAE,mBAAmB,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;YACjH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;YACjC,kBAAkB;YAClB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;YACjC,0BAA0B;YAC1B,YAAY,EAAE,mBAAmB,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC;YACxH,wBAAwB;YACxB,SAAS,EAAE,MAAM,CAAC;YAClB,wBAAwB;YACxB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,iBAAiB,EAAE;YACf,OAAO,EAAE;gBACL,QAAQ,EAAE,MAAM,CAAC;gBACjB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxC,QAAQ,EAAE,MAAM,CAAC;gBACjB,SAAS,EAAE,MAAM,CAAC;aACrB,EAAE,CAAC;YACJ,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;YAC/B,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YACzD,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,IAAI,EAAE;gBACF,QAAQ,EAAE,MAAM,CAAC;gBACjB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxC,QAAQ,EAAE,MAAM,CAAC;gBACjB,aAAa,EAAE,MAAM,CAAC;aACzB,GAAG,IAAI,CAAC;YACT,SAAS,EAAE;gBACP,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;gBACzC,QAAQ,EAAE,MAAM,CAAC;gBACjB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxC,eAAe,EAAE,MAAM,CAAC;aAC3B,GAAG,IAAI,CAAC;YACT,wBAAwB;YACxB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,oBAAoB,EAAE;YAClB,qBAAqB;YACrB,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,YAAY,CAAC;YACjH,qBAAqB;YACrB,EAAE,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC;YAC3D,SAAS,EAAE,MAAM,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,mBAAmB,EAAE;YACjB,cAAc,EAAE,MAAM,CAAC;YACvB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,EAAE,CAAC;YACrE,8HAA8H;YAC9H,+BAA+B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,EAAE,CAAC;SAC5F,CAAC;QACF,4BAA4B,EAAE;YAC1B,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACrC,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,qBAAqB,EAAE;YACnB,qBAAqB;YACrB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;YAChE,0BAA0B;YAC1B,MAAM,EAAE,cAAc,GAAG,qBAAqB,GAAG,yBAAyB,GAAG,IAAI,CAAC;YAClF,UAAU,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;YACpE,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC;SAC/D,CAAC;QACF,6BAA6B,EAAE;YAC3B,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,oBAAoB,EAAE;YAClB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;YACxC,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,4BAA4B,EAAE;YAC1B,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,+BAA+B,EAAE;YAC7B,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;KACL,CAAC;IACF,SAAS,EAAE;QACP,sCAAsC;QACtC,UAAU,EAAE;YACR,OAAO,EAAE;gBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;aAC3B,CAAC;YACF,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;aACzD,CAAC;SACL,CAAC;QACF,qDAAqD;QACrD,YAAY,EAAE;YACV,OAAO,EAAE;gBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;aAC3B,CAAC;YACF,OAAO,EAAE;gBACL;;;;;;;mBAOG;gBACH,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;aACzD,CAAC;SACL,CAAC;QACF,kCAAkC;QAClC,SAAS,EAAE;YACP,OAAO,EAAE;gBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;aAC3B,CAAC;YACF,OAAO,EAAE;gBACL;;;;;;;mBAOG;gBACH,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;aACzD,CAAC;SACL,CAAC;QACF,uCAAuC;QACvC,QAAQ,EAAE;YACN,OAAO,EAAE;gBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;aAC3B,CAAC;YACF,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;aACzD,CAAC;SACL,CAAC;QACF,wKAAwK;QACxK,cAAc,EAAE;YACZ,OAAO,EAAE;gBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;aAC3B,CAAC;YACF,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;aACzD,CAAC;SACL,CAAC;QACF,iPAAiP;QACjP,kBAAkB,EAAE;YAChB,OAAO,EAAE;gBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;aAC3B,CAAC;YACF,OAAO,EAAE;gBACL;;;;;;;mBAOG;gBACH,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;aACzD,CAAC;SACL,CAAC;KACL,CAAC;IACF,UAAU,EAAE;QACR,kBAAkB;QAClB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,aAAa,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,KAAK,CAAC;CACpB;AACD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1C,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE;QACP,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;aAC/D,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,4EAA4E;YAC5E,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE;wBAChB,6BAA6B;wBAC7B,IAAI,EAAE,MAAM,CAAC;qBAChB,CAAC;iBACL,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;SAC9C,CAAC;KACL,CAAC;IACF,sBAAsB,EAAE;QACpB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;aACvE,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,0CAA0C;YAC1C,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE;wBAChB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;qBAC1C,CAAC;iBACL,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,gBAAgB,EAAE;QACd,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;aAClE,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,gDAAgD;YAChD,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;iBACrE,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;SAChD,CAAC;KACL,CAAC;IACF,YAAY,EAAE;QACV,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,4EAA4E;YAC5E,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;iBAC1D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;SAC5C,CAAC;KACL,CAAC;IACF,iBAAiB,EAAE;QACf,UAAU,EAAE;YACR,KAAK,CAAC,EAAE;gBACJ,0EAA0E;gBAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,2DAA2D;YAC3D,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;iBAC/D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;SAC5C,CAAC;KACL,CAAC;IACF,iBAAiB,EAAE;QACf,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;aAClE,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,gDAAgD;YAChD,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;iBAC7D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;SAC5C,CAAC;KACL,CAAC;IACF,iBAAiB,EAAE;QACf,UAAU,EAAE;YACR,KAAK,CAAC,EAAE;gBACJ,mPAAmP;gBACnP,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB;;;mBAGG;gBACH,aAAa,CAAC,EAAE,MAAM,CAAC;aAC1B,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,wCAAwC;YACxC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;iBAC/D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;SAC5C,CAAC;KACL,CAAC;IACF,UAAU,EAAE;QACR,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;iBACxD,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;SAChD,CAAC;KACL,CAAC;IACF,cAAc,EAAE;QACZ,UAAU,EAAE;YACR,KAAK,CAAC,EAAE;gBACJ,kQAAkQ;gBAClQ,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,0WAA0W;gBAC1W,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB;;;mBAGG;gBACH,GAAG,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;iBAC5D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;SAC5C,CAAC;KACL,CAAC;IACF,UAAU,EAAE;QACR,UAAU,EAAE;YACR,KAAK,CAAC,EAAE;gBACJ,gRAAgR;gBAChR,OAAO,CAAC,EAAE,MAAM,CAAC;aACpB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;iBACxD,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;SAC5C,CAAC;KACL,CAAC;IACF,oBAAoB,EAAE;QAClB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,kBAAkB;gBAClB,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC;aAC1D,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;aACrE,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,sEAAsE;YACtE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;iBAC5D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;YACzC,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;SAC9C,CAAC;KACL,CAAC;IACF,yBAAyB,EAAE;QACvB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,YAAY,EAAE,MAAM,CAAC;aACxB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;aAC1E,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,qFAAqF;YACrF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;iBAC1E,CAAC;aACL,CAAC;YACF,wFAAwF;YACxF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,wFAAwF;YACxF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,wFAAwF;YACxF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,wFAAwF;YACxF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,wFAAwF;YACxF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,wFAAwF;YACxF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,wFAAwF;YACxF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,wFAAwF;YACxF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,wFAAwF;YACxF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,YAAY,EAAE;QACV,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;aAC7D,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;iBAC9D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,8EAA8E;YAC9E,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oHAAoH;YACpH,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC,CAAC;SAClD,CAAC;KACL,CAAC;IACF,SAAS,EAAE;QACP,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,QAAQ,EAAE,MAAM,CAAC;aACpB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,gDAAgD;YAChD,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;iBAC9D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;SAC5C,CAAC;KACL,CAAC;IACF,oBAAoB,EAAE;QAClB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,OAAO,EAAE,MAAM,CAAC;gBAChB,UAAU,EAAE,MAAM,CAAC;aACtB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,6EAA6E;YAC7E,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;iBAC9D,CAAC;aACL,CAAC;YACF,mEAAmE;YACnE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,mEAAmE;YACnE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,mEAAmE;YACnE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,mEAAmE;YACnE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,mEAAmE;YACnE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,mEAAmE;YACnE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,mEAAmE;YACnE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,gBAAgB,EAAE;QACd,UAAU,EAAE;YACR,KAAK,CAAC,EAAE;gBACJ,0KAA0K;gBAC1K,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,qOAAqO;gBACrO,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,oQAAoQ;gBACpQ,CAAC,CAAC,EAAE,MAAM,CAAC;gBACX,sEAAsE;gBACtE,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,+RAA+R;gBAC/R,MAAM,CAAC,EAAE,MAAM,CAAC;aACnB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,mFAAmF;YACnF,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;iBAChE,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;SACtD,CAAC;KACL,CAAC;IACF,cAAc,EAAE;QACZ,UAAU,EAAE;YACR,KAAK,CAAC,EAAE;gBACJ,0QAA0Q;gBAC1Q,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,mhBAAmhB;gBACnhB,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;gBAC5B,2FAA2F;gBAC3F,CAAC,CAAC,EAAE,MAAM,CAAC;gBACX,sEAAsE;gBACtE,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,8JAA8J;gBAC9J,MAAM,CAAC,EAAE,MAAM,CAAC;aACnB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,UAAU,EAAE,MAAM,CAAC;aACtB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,iEAAiE;YACjE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;iBAClE,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;SACtD,CAAC;KACL,CAAC;IACF,YAAY,EAAE;QACV,UAAU,EAAE;YACR,KAAK,EAAE;gBACH,OAAO,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,CAAC;aACnB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,6CAA6C;YAC7C,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;iBAC1D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;SACtD,CAAC;KACL,CAAC;IACF,wBAAwB,EAAE;QACtB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,OAAO,EAAE,MAAM,CAAC;oBAChB,UAAU,EAAE,MAAM,CAAC;oBACnB,UAAU,EAAE,MAAM,CAAC;oBACnB,OAAO,EAAE,MAAM,CAAC;oBAChB;;;uBAGG;oBACH,GAAG,EAAE,MAAM,CAAC;oBACZ,84BAA84B;oBAC94B,IAAI,CAAC,EAAE,MAAM,CAAC;iBACjB,CAAC;aACL,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uDAAuD;YACvD,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC;iBACpE,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;SACtD,CAAC;KACL,CAAC;IACF,2BAA2B,EAAE;QACzB,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,uEAAuE;gBACvE,EAAE,EAAE,MAAM,CAAC;aACd,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,+FAA+F;YAC/F,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;iBACzE,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,wMAAwM;YACxM,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;SACtD,CAAC;KACL,CAAC;IACF,YAAY,EAAE;QACV,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,gEAAgE;oBAChE,aAAa,EAAE,MAAM,CAAC;oBACtB,kEAAkE;oBAClE,SAAS,EAAE,MAAM,CAAC;iBACrB,CAAC;aACL,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,sEAAsE;YACtE,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;iBAC9D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC/C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;SACtD,CAAC;KACL,CAAC;IACF,gBAAgB,EAAE;QACd,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,EAAE,EAAE,MAAM,CAAC;aACd,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,0FAA0F;YAC1F,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;iBAC9D,CAAC;aACL,CAAC;YACF,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC/C,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;SACtD,CAAC;KACL,CAAC;CACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/generated/schema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE PARSE. The string that is validated is the string that is requested.
|
|
3
|
+
*
|
|
4
|
+
* ------------------------------------------------------------------------------------------------
|
|
5
|
+
* THE BUG THIS EXISTS TO CLOSE
|
|
6
|
+
* ------------------------------------------------------------------------------------------------
|
|
7
|
+
* `wallet_api_get` and `wallet_api_write` both take a free-form, model-supplied `path` and check it
|
|
8
|
+
* against a generated manifest by compiling each manifest template into a regex, with a `{param}`
|
|
9
|
+
* segment becoming `[^/]+`. The compiled string was then re-assembled and handed to `fetch`, whose
|
|
10
|
+
* WHATWG URL parser re-parses it - and that parser does NOT agree with `[^/]+` about what a path
|
|
11
|
+
* segment is. It normalises `\` to `/`, resolves `.` and `..` (including their percent-encoded forms
|
|
12
|
+
* `%2e` / `%2e%2e`), and truncates everything from the first `#`. So:
|
|
13
|
+
*
|
|
14
|
+
* isKnownWritePath('/notifications/..\\userops#/read', 'POST') -> true
|
|
15
|
+
* ...and the request actually issued was POST /v1/userops
|
|
16
|
+
*
|
|
17
|
+
* Two different strings: the one the allowlist inspected, and the one that went on the wire. Every
|
|
18
|
+
* denylist entry in both manifests - the `/userops` relay boundary, `/approvals/{digest}/relay`,
|
|
19
|
+
* `/solana/transactions`, `/agent-wallets/partner-provision`, and on the read side `/auth/session`,
|
|
20
|
+
* which hands back the owner's live session token - was reachable through that gap.
|
|
21
|
+
*
|
|
22
|
+
* ------------------------------------------------------------------------------------------------
|
|
23
|
+
* WHY THIS CLOSES THE CLASS RATHER THAN THE INSTANCES
|
|
24
|
+
* ------------------------------------------------------------------------------------------------
|
|
25
|
+
* Blocklisting the tokens (`..`, `\`, `#`) loses: there is always another encoding (`%2e%2e`, `%5c`,
|
|
26
|
+
* `%23`, `%252e%252e`, and whatever the next parser quirk turns out to be). The root cause is not any
|
|
27
|
+
* particular character - it is that VALIDATION AND REQUEST OPERATED ON DIFFERENT STRINGS. So this
|
|
28
|
+
* module removes the difference instead of enumerating it:
|
|
29
|
+
*
|
|
30
|
+
* 1. The caller's path is canonicalised ONCE, up front, before anything looks at a manifest.
|
|
31
|
+
* 2. Canonicalisation is a FIXED-POINT test against the very parser `fetch` uses: the path is
|
|
32
|
+
* re-parsed with `new URL(...)`, and if `pathname + search` is not byte-identical to the input,
|
|
33
|
+
* the path is refused. Anything the URL parser would rewrite - a traversal in any encoding, a
|
|
34
|
+
* backslash, a fragment, a character it would percent-encode, a `//` that changes the host - is
|
|
35
|
+
* by definition not a fixed point, and is rejected without this module ever having to know that
|
|
36
|
+
* particular trick's name.
|
|
37
|
+
* 3. A structural charset allowlist runs first, per segment, so the fixed-point test is a second
|
|
38
|
+
* opinion rather than the only one: a segment may contain only unreserved/sub-delim characters
|
|
39
|
+
* and well-formed `%XX` triplets, and must not decode - through as many layers of encoding as it
|
|
40
|
+
* carries - to a separator, a fragment marker, or `.`/`..`.
|
|
41
|
+
* 4. The single canonical result is what the caller then matches AND requests. There is no second
|
|
42
|
+
* re-assembly step for the two to drift apart in.
|
|
43
|
+
*
|
|
44
|
+
* The `{param}` compilation is tightened to match: `PARAM_SEGMENT_PATTERN` is the same charset, so a
|
|
45
|
+
* parameter structurally cannot hold a separator or a fragment marker even before rule 2 speaks.
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* What a `{param}` in a manifest template compiles to. The old `[^/]+` was the bug: to a regex, `\`,
|
|
49
|
+
* `#` and `..` are ordinary characters, and to the URL parser they are separators. This charset holds
|
|
50
|
+
* no separator and no fragment marker in any form the URL parser recognises.
|
|
51
|
+
*/
|
|
52
|
+
export declare const PARAM_SEGMENT_PATTERN = "(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+";
|
|
53
|
+
/** The canonical form of a caller-supplied path: one object, carried from validation to `fetch`. */
|
|
54
|
+
export interface CanonicalHttpPath {
|
|
55
|
+
/** The path, no query string. Byte-identical to what will be requested. */
|
|
56
|
+
readonly path: string;
|
|
57
|
+
/** The query string including its leading `?`, or `''`. Byte-identical to what will be requested. */
|
|
58
|
+
readonly query: string;
|
|
59
|
+
/** `path + query` - exactly the string that goes on the wire after the base URL. */
|
|
60
|
+
readonly full: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Canonicalise a caller-supplied request path, or return null if it is not canonical.
|
|
64
|
+
*
|
|
65
|
+
* "Canonical" means: an absolute path (never protocol-relative, which would change the HOST), every
|
|
66
|
+
* segment drawn from the safe charset and free of any encoded separator or traversal, an optional
|
|
67
|
+
* query drawn from its own charset, no fragment at all - and, as the final word, a string the WHATWG
|
|
68
|
+
* URL parser reproduces unchanged. Callers must use the returned strings, never their own input.
|
|
69
|
+
*/
|
|
70
|
+
export declare function canonicalizeHttpPath(raw: unknown): CanonicalHttpPath | null;
|
|
71
|
+
/**
|
|
72
|
+
* Strip the `/v1` prefix, if present, so `/balance` and `/v1/balance` resolve to the same manifest
|
|
73
|
+
* entry. The OpenAPI contract declares paths WITHOUT the version prefix (`/v1` lives in
|
|
74
|
+
* `servers[].url`), so the generated manifests are un-prefixed - this is where the two conventions
|
|
75
|
+
* meet. Operates on an ALREADY-CANONICAL path; the old code did this to the raw input, which is how a
|
|
76
|
+
* `/v1`-prefixed bypass got a second bite.
|
|
77
|
+
*/
|
|
78
|
+
export declare function stripVersionPrefix(canonicalPath: string): string;
|
|
79
|
+
/**
|
|
80
|
+
* Compile one manifest template (`/agents/{id}`) into a matcher for a concrete canonical path
|
|
81
|
+
* (`/agents/agt_1`). Shared by both allowlists so they cannot drift into two different ideas of what a
|
|
82
|
+
* path parameter may contain - which is how one of them ends up with the other's hole.
|
|
83
|
+
*/
|
|
84
|
+
export declare function compileRoutePattern(template: string): RegExp;
|
|
85
|
+
/** Cap what a refusal echoes back, so a pathological input cannot flood a tool result. */
|
|
86
|
+
export declare function describePath(raw: unknown): string;
|
|
87
|
+
/**
|
|
88
|
+
* The refusal text every caller shares, so the reason a path was rejected reads the same wherever it
|
|
89
|
+
* is rejected - and names the real cause rather than the character that happened to trip it.
|
|
90
|
+
*/
|
|
91
|
+
export declare function nonCanonicalPathMessage(raw: unknown, tool: string): string;
|
|
92
|
+
//# sourceMappingURL=http-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-path.d.ts","sourceRoot":"","sources":["../src/http-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAaH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,wDAAqB,CAAC;AAiDxD,oGAAoG;AACpG,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qGAAqG;IACrG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAmC3E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU5D;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGjD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAU1E"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE PARSE. The string that is validated is the string that is requested.
|
|
3
|
+
*
|
|
4
|
+
* ------------------------------------------------------------------------------------------------
|
|
5
|
+
* THE BUG THIS EXISTS TO CLOSE
|
|
6
|
+
* ------------------------------------------------------------------------------------------------
|
|
7
|
+
* `wallet_api_get` and `wallet_api_write` both take a free-form, model-supplied `path` and check it
|
|
8
|
+
* against a generated manifest by compiling each manifest template into a regex, with a `{param}`
|
|
9
|
+
* segment becoming `[^/]+`. The compiled string was then re-assembled and handed to `fetch`, whose
|
|
10
|
+
* WHATWG URL parser re-parses it - and that parser does NOT agree with `[^/]+` about what a path
|
|
11
|
+
* segment is. It normalises `\` to `/`, resolves `.` and `..` (including their percent-encoded forms
|
|
12
|
+
* `%2e` / `%2e%2e`), and truncates everything from the first `#`. So:
|
|
13
|
+
*
|
|
14
|
+
* isKnownWritePath('/notifications/..\\userops#/read', 'POST') -> true
|
|
15
|
+
* ...and the request actually issued was POST /v1/userops
|
|
16
|
+
*
|
|
17
|
+
* Two different strings: the one the allowlist inspected, and the one that went on the wire. Every
|
|
18
|
+
* denylist entry in both manifests - the `/userops` relay boundary, `/approvals/{digest}/relay`,
|
|
19
|
+
* `/solana/transactions`, `/agent-wallets/partner-provision`, and on the read side `/auth/session`,
|
|
20
|
+
* which hands back the owner's live session token - was reachable through that gap.
|
|
21
|
+
*
|
|
22
|
+
* ------------------------------------------------------------------------------------------------
|
|
23
|
+
* WHY THIS CLOSES THE CLASS RATHER THAN THE INSTANCES
|
|
24
|
+
* ------------------------------------------------------------------------------------------------
|
|
25
|
+
* Blocklisting the tokens (`..`, `\`, `#`) loses: there is always another encoding (`%2e%2e`, `%5c`,
|
|
26
|
+
* `%23`, `%252e%252e`, and whatever the next parser quirk turns out to be). The root cause is not any
|
|
27
|
+
* particular character - it is that VALIDATION AND REQUEST OPERATED ON DIFFERENT STRINGS. So this
|
|
28
|
+
* module removes the difference instead of enumerating it:
|
|
29
|
+
*
|
|
30
|
+
* 1. The caller's path is canonicalised ONCE, up front, before anything looks at a manifest.
|
|
31
|
+
* 2. Canonicalisation is a FIXED-POINT test against the very parser `fetch` uses: the path is
|
|
32
|
+
* re-parsed with `new URL(...)`, and if `pathname + search` is not byte-identical to the input,
|
|
33
|
+
* the path is refused. Anything the URL parser would rewrite - a traversal in any encoding, a
|
|
34
|
+
* backslash, a fragment, a character it would percent-encode, a `//` that changes the host - is
|
|
35
|
+
* by definition not a fixed point, and is rejected without this module ever having to know that
|
|
36
|
+
* particular trick's name.
|
|
37
|
+
* 3. A structural charset allowlist runs first, per segment, so the fixed-point test is a second
|
|
38
|
+
* opinion rather than the only one: a segment may contain only unreserved/sub-delim characters
|
|
39
|
+
* and well-formed `%XX` triplets, and must not decode - through as many layers of encoding as it
|
|
40
|
+
* carries - to a separator, a fragment marker, or `.`/`..`.
|
|
41
|
+
* 4. The single canonical result is what the caller then matches AND requests. There is no second
|
|
42
|
+
* re-assembly step for the two to drift apart in.
|
|
43
|
+
*
|
|
44
|
+
* The `{param}` compilation is tightened to match: `PARAM_SEGMENT_PATTERN` is the same charset, so a
|
|
45
|
+
* parameter structurally cannot hold a separator or a fragment marker even before rule 2 speaks.
|
|
46
|
+
*/
|
|
47
|
+
/** A base that cannot resolve to anything real, used only as the fixed point of the round trip. */
|
|
48
|
+
const CANONICAL_BASE = 'https://botanary-canonical-path.invalid';
|
|
49
|
+
/**
|
|
50
|
+
* One character of a path segment: RFC 3986 `unreserved` + `sub-delims` + `:` + `@`, or a well-formed
|
|
51
|
+
* percent triplet. Deliberately EXCLUDES `/`, `\`, `#`, `?`, space, every control character, and every
|
|
52
|
+
* non-ASCII byte - a caller that genuinely needs one of those in an id must percent-encode it, and if
|
|
53
|
+
* what it decodes to is a separator or a traversal, it is refused below regardless.
|
|
54
|
+
*/
|
|
55
|
+
const SEGMENT_CHAR = "(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})";
|
|
56
|
+
/**
|
|
57
|
+
* What a `{param}` in a manifest template compiles to. The old `[^/]+` was the bug: to a regex, `\`,
|
|
58
|
+
* `#` and `..` are ordinary characters, and to the URL parser they are separators. This charset holds
|
|
59
|
+
* no separator and no fragment marker in any form the URL parser recognises.
|
|
60
|
+
*/
|
|
61
|
+
export const PARAM_SEGMENT_PATTERN = `${SEGMENT_CHAR}+`;
|
|
62
|
+
const SEGMENT_RE = new RegExp(`^${SEGMENT_CHAR}+$`);
|
|
63
|
+
/** A query string may additionally carry `/` and `?`, which are unambiguous once the path has ended. */
|
|
64
|
+
const QUERY_RE = new RegExp(`^(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})*$`);
|
|
65
|
+
/** `.` and `..` - the two path segments the URL parser resolves away rather than transmits. */
|
|
66
|
+
const DOT_SEGMENT_RE = /^\.{1,2}$/;
|
|
67
|
+
/** A separator or fragment marker, in decoded form. */
|
|
68
|
+
const SEPARATOR_RE = /[/\\#?]/;
|
|
69
|
+
/** C0 controls and DEL, which no id legitimately contains and which some servers treat as terminators. */
|
|
70
|
+
const CONTROL_RE = /[\u0000-\u001f\u007f]/;
|
|
71
|
+
/**
|
|
72
|
+
* More layers of percent-encoding than any real identifier carries. Six is far past the two the known
|
|
73
|
+
* bypasses need (`%252e%252e` is three decodes to `..`); the bound exists so a pathological input
|
|
74
|
+
* cannot spin here, and hitting it is itself a refusal.
|
|
75
|
+
*/
|
|
76
|
+
const MAX_DECODE_ROUNDS = 6;
|
|
77
|
+
/**
|
|
78
|
+
* True when `segment`, peeled through every layer of percent-encoding it carries, is or contains a
|
|
79
|
+
* separator, a fragment marker, a control character, or a `.`/`..` traversal. This is the part that
|
|
80
|
+
* survives new encodings: it does not ask "is this `%2e%2e`", it asks "does this ever become `..`".
|
|
81
|
+
*/
|
|
82
|
+
function decodesToSeparatorOrTraversal(segment) {
|
|
83
|
+
let current = segment;
|
|
84
|
+
for (let round = 0; round < MAX_DECODE_ROUNDS; round += 1) {
|
|
85
|
+
if (DOT_SEGMENT_RE.test(current))
|
|
86
|
+
return true;
|
|
87
|
+
if (SEPARATOR_RE.test(current))
|
|
88
|
+
return true;
|
|
89
|
+
if (CONTROL_RE.test(current))
|
|
90
|
+
return true;
|
|
91
|
+
if (!current.includes('%'))
|
|
92
|
+
return false;
|
|
93
|
+
let next;
|
|
94
|
+
try {
|
|
95
|
+
next = decodeURIComponent(current);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Malformed encoding (`%C0%80` and friends). Refuse rather than guess what a server would make
|
|
99
|
+
// of it - the two of us disagreeing about that is the entire bug this module closes.
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
if (next === current)
|
|
103
|
+
return false;
|
|
104
|
+
current = next;
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Canonicalise a caller-supplied request path, or return null if it is not canonical.
|
|
110
|
+
*
|
|
111
|
+
* "Canonical" means: an absolute path (never protocol-relative, which would change the HOST), every
|
|
112
|
+
* segment drawn from the safe charset and free of any encoded separator or traversal, an optional
|
|
113
|
+
* query drawn from its own charset, no fragment at all - and, as the final word, a string the WHATWG
|
|
114
|
+
* URL parser reproduces unchanged. Callers must use the returned strings, never their own input.
|
|
115
|
+
*/
|
|
116
|
+
export function canonicalizeHttpPath(raw) {
|
|
117
|
+
if (typeof raw !== 'string' || raw.length === 0)
|
|
118
|
+
return null;
|
|
119
|
+
// `//host/x` is not a path - relative to any base it is a whole different ORIGIN.
|
|
120
|
+
if (!raw.startsWith('/') || raw.startsWith('//'))
|
|
121
|
+
return null;
|
|
122
|
+
const questionMark = raw.indexOf('?');
|
|
123
|
+
const path = questionMark === -1 ? raw : raw.slice(0, questionMark);
|
|
124
|
+
const query = questionMark === -1 ? '' : raw.slice(questionMark);
|
|
125
|
+
// segments[0] is always '' - `path` starts with '/'. An empty segment anywhere else is a `//`, which
|
|
126
|
+
// is never a manifest route and is exactly how a host gets smuggled in.
|
|
127
|
+
const segments = path.split('/');
|
|
128
|
+
for (let i = 1; i < segments.length; i += 1) {
|
|
129
|
+
const segment = segments[i];
|
|
130
|
+
if (!SEGMENT_RE.test(segment))
|
|
131
|
+
return null;
|
|
132
|
+
if (decodesToSeparatorOrTraversal(segment))
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
if (query !== '' && !QUERY_RE.test(query.slice(1)))
|
|
136
|
+
return null;
|
|
137
|
+
// THE FIXED POINT. Everything above is a structural allowlist; this is the agreement check against
|
|
138
|
+
// the parser that actually matters - the one `fetch` runs on this same string. If the two disagree
|
|
139
|
+
// by so much as a byte, there is no canonical answer to give and the path is refused.
|
|
140
|
+
let parsed;
|
|
141
|
+
try {
|
|
142
|
+
parsed = new URL(path + query, CANONICAL_BASE);
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
if (parsed.origin !== CANONICAL_BASE)
|
|
148
|
+
return null;
|
|
149
|
+
if (parsed.hash !== '')
|
|
150
|
+
return null;
|
|
151
|
+
if (parsed.pathname !== path)
|
|
152
|
+
return null;
|
|
153
|
+
if (parsed.search !== query)
|
|
154
|
+
return null;
|
|
155
|
+
return { path, query, full: path + query };
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Strip the `/v1` prefix, if present, so `/balance` and `/v1/balance` resolve to the same manifest
|
|
159
|
+
* entry. The OpenAPI contract declares paths WITHOUT the version prefix (`/v1` lives in
|
|
160
|
+
* `servers[].url`), so the generated manifests are un-prefixed - this is where the two conventions
|
|
161
|
+
* meet. Operates on an ALREADY-CANONICAL path; the old code did this to the raw input, which is how a
|
|
162
|
+
* `/v1`-prefixed bypass got a second bite.
|
|
163
|
+
*/
|
|
164
|
+
export function stripVersionPrefix(canonicalPath) {
|
|
165
|
+
if (canonicalPath === '/v1')
|
|
166
|
+
return '';
|
|
167
|
+
return canonicalPath.startsWith('/v1/') ? canonicalPath.slice(3) : canonicalPath;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Compile one manifest template (`/agents/{id}`) into a matcher for a concrete canonical path
|
|
171
|
+
* (`/agents/agt_1`). Shared by both allowlists so they cannot drift into two different ideas of what a
|
|
172
|
+
* path parameter may contain - which is how one of them ends up with the other's hole.
|
|
173
|
+
*/
|
|
174
|
+
export function compileRoutePattern(template) {
|
|
175
|
+
const source = template
|
|
176
|
+
.split('/')
|
|
177
|
+
.map((segment) => segment.startsWith('{') && segment.endsWith('}')
|
|
178
|
+
? PARAM_SEGMENT_PATTERN
|
|
179
|
+
: segment.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))
|
|
180
|
+
.join('/');
|
|
181
|
+
return new RegExp(`^${source}$`);
|
|
182
|
+
}
|
|
183
|
+
/** Cap what a refusal echoes back, so a pathological input cannot flood a tool result. */
|
|
184
|
+
export function describePath(raw) {
|
|
185
|
+
const text = typeof raw === 'string' ? raw : String(raw);
|
|
186
|
+
return text.length > 200 ? `${text.slice(0, 200)}...` : text;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* The refusal text every caller shares, so the reason a path was rejected reads the same wherever it
|
|
190
|
+
* is rejected - and names the real cause rather than the character that happened to trip it.
|
|
191
|
+
*/
|
|
192
|
+
export function nonCanonicalPathMessage(raw, tool) {
|
|
193
|
+
return (`"${describePath(raw)}" is not a canonical request path - ${tool} refuses it before any allowlist ` +
|
|
194
|
+
'is consulted. A path must be absolute, must not begin "//", must carry no fragment, no query ' +
|
|
195
|
+
'ambiguity and no empty segment, and every segment must consist only of unreserved characters or ' +
|
|
196
|
+
'well-formed %XX escapes that do not decode - through any number of layers - to a separator ("/", ' +
|
|
197
|
+
'"\\"), a fragment marker ("#") or a traversal (".", ".."). The rule is that the string validated ' +
|
|
198
|
+
'and the string requested must be ONE string: anything the URL parser would rewrite is refused ' +
|
|
199
|
+
'here rather than validated as one route and sent as another.');
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=http-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-path.js","sourceRoot":"","sources":["../src/http-path.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { AgentRuntime, awaitTerminalWith, DEFAULT_API_BASE_URL } from './runtime.js';
|
|
2
|
+
export { BotanaryApiError } from './errors.js';
|
|
3
|
+
export type { AgentIdentity, AgentSigner } from './signer.js';
|
|
4
|
+
export { createViemAgentSigner } from './signer.js';
|
|
5
|
+
export type { AgentTransport } from './transport.js';
|
|
6
|
+
export { registerAgent, type AgentRegistrationClient } from './registration.js';
|
|
7
|
+
export type * from './views.js';
|
|
8
|
+
export { PairingCodeManager, DEFAULT_PAIRING_CODE_TTL_MS, type PairingCode } from './pairing-code.js';
|
|
9
|
+
export { crockfordBase32, deriveFingerprint, generatePairingNonce, FINGERPRINT_BYTES, NONCE_BYTES } from './fingerprint.js';
|
|
10
|
+
export type { ExactAgentAction, ExactAgentExecution, AgentActionBinding, AgentSwapBinding, SwapRouteFacts, PreparedAgentAction } from './exact-action.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAChF,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5H,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { AgentRuntime, awaitTerminalWith, DEFAULT_API_BASE_URL } from './runtime.js';
|
|
2
|
+
export { BotanaryApiError } from './errors.js';
|
|
3
|
+
export { createViemAgentSigner } from './signer.js';
|
|
4
|
+
export { registerAgent } from './registration.js';
|
|
5
|
+
export { PairingCodeManager, DEFAULT_PAIRING_CODE_TTL_MS } from './pairing-code.js';
|
|
6
|
+
export { crockfordBase32, deriveFingerprint, generatePairingNonce, FINGERPRINT_BYTES, NONCE_BYTES } from './fingerprint.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAoB,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** 10 minutes: long enough to alt-tab to the Botanary app and type ~13 characters, short enough that a
|
|
2
|
+
* code nobody redeemed stops being worth anything on its own quickly. See README for the full
|
|
3
|
+
* "why intercepting the code alone grants nothing" argument - the TTL is one layer of it, not the
|
|
4
|
+
* whole thing. */
|
|
5
|
+
export declare const DEFAULT_PAIRING_CODE_TTL_MS: number;
|
|
6
|
+
export interface PairingCode {
|
|
7
|
+
/** What the agent shows the user, and what they type into Connected agents: `${fingerprint}-${nonce}`. */
|
|
8
|
+
code: string;
|
|
9
|
+
/** The stable, non-secret address fingerprint half (see fingerprint.ts). */
|
|
10
|
+
fingerprint: string;
|
|
11
|
+
/** The fresh-per-code random half - this is what makes the code single-use/short-lived. */
|
|
12
|
+
nonce: string;
|
|
13
|
+
issuedAt: string;
|
|
14
|
+
expiresAt: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Owns exactly one pairing attempt at a time for this process, keyed off a fixed address fingerprint.
|
|
18
|
+
* `current()` is idempotent while the code is still valid - Flow 7d step 1 is "the agent ... shows the
|
|
19
|
+
* short code, and waits", which only makes sense if the code stays put while the owner is busy typing
|
|
20
|
+
* it, rather than rotating out from under them on every tool call. It mints automatically once the
|
|
21
|
+
* previous code expires, and `regenerate()` lets the owner (via the agent) burn a code early - e.g. if
|
|
22
|
+
* they suspect it was seen by someone else - without waiting out the TTL.
|
|
23
|
+
*
|
|
24
|
+
* Deliberately in-memory only: a pairing code is not part of the identity (see store.ts) and is not
|
|
25
|
+
* meant to survive a restart - a fresh process showing a fresh code is the correct behavior, not a bug.
|
|
26
|
+
*/
|
|
27
|
+
export declare class PairingCodeManager {
|
|
28
|
+
#private;
|
|
29
|
+
constructor(fingerprint: string, options?: {
|
|
30
|
+
ttlMs?: number;
|
|
31
|
+
/** injectable for deterministic tests */
|
|
32
|
+
now?: () => number;
|
|
33
|
+
/** injectable for deterministic tests */
|
|
34
|
+
nonce?: () => string;
|
|
35
|
+
});
|
|
36
|
+
/** The active code, minting a fresh one if there is none yet or the previous one expired. */
|
|
37
|
+
current(): PairingCode;
|
|
38
|
+
/** Always mints a fresh code, invalidating whatever was active. */
|
|
39
|
+
regenerate(): PairingCode;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=pairing-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pairing-code.d.ts","sourceRoot":"","sources":["../src/pairing-code.ts"],"names":[],"mappings":"AAEA;;;mBAGmB;AACnB,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,0GAA0G;IAC1G,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;;gBAQ3B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,yCAAyC;QACzC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QACnB,yCAAyC;QACzC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;KACtB;IAQH,6FAA6F;IAC7F,OAAO,IAAI,WAAW;IAQtB,mEAAmE;IACnE,UAAU,IAAI,WAAW;CAqB1B"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { generatePairingNonce } from './fingerprint.js';
|
|
2
|
+
/** 10 minutes: long enough to alt-tab to the Botanary app and type ~13 characters, short enough that a
|
|
3
|
+
* code nobody redeemed stops being worth anything on its own quickly. See README for the full
|
|
4
|
+
* "why intercepting the code alone grants nothing" argument - the TTL is one layer of it, not the
|
|
5
|
+
* whole thing. */
|
|
6
|
+
export const DEFAULT_PAIRING_CODE_TTL_MS = 10 * 60 * 1000;
|
|
7
|
+
/**
|
|
8
|
+
* Owns exactly one pairing attempt at a time for this process, keyed off a fixed address fingerprint.
|
|
9
|
+
* `current()` is idempotent while the code is still valid - Flow 7d step 1 is "the agent ... shows the
|
|
10
|
+
* short code, and waits", which only makes sense if the code stays put while the owner is busy typing
|
|
11
|
+
* it, rather than rotating out from under them on every tool call. It mints automatically once the
|
|
12
|
+
* previous code expires, and `regenerate()` lets the owner (via the agent) burn a code early - e.g. if
|
|
13
|
+
* they suspect it was seen by someone else - without waiting out the TTL.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately in-memory only: a pairing code is not part of the identity (see store.ts) and is not
|
|
16
|
+
* meant to survive a restart - a fresh process showing a fresh code is the correct behavior, not a bug.
|
|
17
|
+
*/
|
|
18
|
+
export class PairingCodeManager {
|
|
19
|
+
#fingerprint;
|
|
20
|
+
#ttlMs;
|
|
21
|
+
#now;
|
|
22
|
+
#nonce;
|
|
23
|
+
#current = null;
|
|
24
|
+
constructor(fingerprint, options) {
|
|
25
|
+
this.#fingerprint = fingerprint;
|
|
26
|
+
this.#ttlMs = options?.ttlMs ?? DEFAULT_PAIRING_CODE_TTL_MS;
|
|
27
|
+
this.#now = options?.now ?? Date.now;
|
|
28
|
+
this.#nonce = options?.nonce ?? generatePairingNonce;
|
|
29
|
+
}
|
|
30
|
+
/** The active code, minting a fresh one if there is none yet or the previous one expired. */
|
|
31
|
+
current() {
|
|
32
|
+
const t = this.#now();
|
|
33
|
+
if (!this.#current || this.#current.expiresAt <= t) {
|
|
34
|
+
this.#mint(t);
|
|
35
|
+
}
|
|
36
|
+
return this.#toPublic();
|
|
37
|
+
}
|
|
38
|
+
/** Always mints a fresh code, invalidating whatever was active. */
|
|
39
|
+
regenerate() {
|
|
40
|
+
this.#mint(this.#now());
|
|
41
|
+
return this.#toPublic();
|
|
42
|
+
}
|
|
43
|
+
#mint(t) {
|
|
44
|
+
this.#current = { nonce: this.#nonce(), issuedAt: t, expiresAt: t + this.#ttlMs };
|
|
45
|
+
}
|
|
46
|
+
#toPublic() {
|
|
47
|
+
const c = this.#current;
|
|
48
|
+
/* istanbul ignore next -- #mint always runs first in both call sites above */
|
|
49
|
+
if (!c)
|
|
50
|
+
throw new Error('unreachable: no pairing code minted');
|
|
51
|
+
return {
|
|
52
|
+
code: `${this.#fingerprint}-${c.nonce}`,
|
|
53
|
+
fingerprint: this.#fingerprint,
|
|
54
|
+
nonce: c.nonce,
|
|
55
|
+
issuedAt: new Date(c.issuedAt).toISOString(),
|
|
56
|
+
expiresAt: new Date(c.expiresAt).toISOString(),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=pairing-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pairing-code.js","sourceRoot":"","sources":["../src/pairing-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;mBAGmB;AACnB,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAa1D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAkB;IACpB,YAAY,CAAS;IACrB,MAAM,CAAS;IACf,IAAI,CAAe;IACnB,MAAM,CAAe;IAC9B,QAAQ,GAAkE,IAAI,CAAC;IAE/E,YACE,WAAmB,EACnB,OAMC;QAED,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,IAAI,2BAA2B,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,IAAI,oBAAoB,CAAC;IACvD,CAAC;IAED,6FAA6F;IAC7F,OAAO;QACL,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,mEAAmE;IACnE,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACpF,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxB,8EAA8E;QAC9E,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC/D,OAAO;YACL,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK,EAAE;YACvC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;YAC5C,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;SAC/C,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AgentSigner } from './signer.js';
|
|
2
|
+
import type { components } from './generated/schema.js';
|
|
3
|
+
type Schemas = components['schemas'];
|
|
4
|
+
/** Structurally compatible with @botanary/sdk. Only the server client handles its app credential. */
|
|
5
|
+
export interface AgentRegistrationClient {
|
|
6
|
+
app: {
|
|
7
|
+
context(): Promise<{
|
|
8
|
+
appId: string;
|
|
9
|
+
keyId: string;
|
|
10
|
+
environment: 'test' | 'live';
|
|
11
|
+
}>;
|
|
12
|
+
};
|
|
13
|
+
agents: {
|
|
14
|
+
challenge(input: Schemas['DeveloperAgentChallengeInput']): Promise<Schemas['DeveloperAgentChallenge']>;
|
|
15
|
+
complete(input: Schemas['DeveloperAgentRegistrationInput']): Promise<Schemas['DeveloperAgentRegistration']>;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/** Registration proves possession of this agent key. It creates neither owner consent nor a grant. */
|
|
19
|
+
export declare function registerAgent(signer: AgentSigner, client: AgentRegistrationClient, name: string): Promise<Schemas['DeveloperAgentRegistration']>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=registration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../src/registration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,KAAK,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AACrC,qGAAqG;AACrG,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE;QAAE,OAAO,IAAI,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC5F,MAAM,EAAE;QACN,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACvG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,iCAAiC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;KAC7G,CAAC;CACH;AAED,sGAAsG;AACtG,wBAAsB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAmCtJ"}
|