@leashmarket/mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +157 -0
- package/dist/cli.d.ts +44 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +314 -0
- package/dist/cli.js.map +1 -0
- package/dist/config-write.d.ts +38 -0
- package/dist/config-write.d.ts.map +1 -0
- package/dist/config-write.js +80 -0
- package/dist/config-write.js.map +1 -0
- package/dist/config.d.ts +114 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +164 -0
- package/dist/config.js.map +1 -0
- package/dist/host-stdio.d.ts +27 -0
- package/dist/host-stdio.d.ts.map +1 -0
- package/dist/host-stdio.js +1001 -0
- package/dist/host-stdio.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/mint-local.d.ts +128 -0
- package/dist/mint-local.d.ts.map +1 -0
- package/dist/mint-local.js +267 -0
- package/dist/mint-local.js.map +1 -0
- package/dist/sandbox-api.d.ts +56 -0
- package/dist/sandbox-api.d.ts.map +1 -0
- package/dist/sandbox-api.js +38 -0
- package/dist/sandbox-api.js.map +1 -0
- package/dist/server.d.ts +131 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +502 -0
- package/dist/server.js.map +1 -0
- package/dist/signer.d.ts +54 -0
- package/dist/signer.d.ts.map +1 -0
- package/dist/signer.js +102 -0
- package/dist/signer.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-stdio.js","sourceRoot":"","sources":["../src/host-stdio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,uBAAuB,EACvB,aAAa,EACb,gBAAgB,GAoBjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,IAAI,yBAAyB,EAClD,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAE3D,MAAM,gBAAgB,GAAG,WAAc,CAAC;AAExC;;;;;;GAMG;AACH,SAAS,YAAY;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAC9D,OAAO;QACL,CAAC,EAAE,KAAK;QACR,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;QACpD,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAmB;IACvC,OAAO,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7D,CAAC;AAED,wDAAwD;AACxD,SAAS,eAAe,CAAC,OAAmB;IAC1C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAwB;IACtD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACxD,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,SAAS;IACb,SAAS,CAAgB;IACzB,WAAW,CAAgB;IAC3B,OAAO,CAAa;IACpB,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,eAAe,CAAS;IAEP,MAAM,CAAmB;IACzB,MAAM,CAAc;IAErC,YAAY,MAAwB,EAAE,MAAmB;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,sBAAsB,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAA8B;QACvD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;gBACnC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;gBACnC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;gBAC1B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,MAAO,CAAC,WAAW,EAAE,CAAC;gBAC5F,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YAClB,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aACpD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAa;QACrB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,4DAA4D;YAC5D,yDAAyD;YACzD,6DAA6D;YAC7D,8DAA8D;YAC9D,+BAA+B;YAC/B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEjD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;gBAC7C,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,IAAI,EAAE,OAAO,CAAC,KAAK;gBACnB,GAAG,CAAC,gBAAgB,KAAK,gBAAgB;oBACvC,CAAC,CAAC,EAAE,YAAY,EAAE,0BAA0B,EAAE;oBAC9C,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,WAAW,CAAC;gBACxB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,kBAAkB,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;gBACzC,KAAK,EAAE,YAAY,EAAE;aACtB,CAAC,CAAC;YAEH,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvE,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ;iBAC5B,KAAK,EAAE;iBACP,IAAI,EAAE;iBACN,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAEnB,IAAI,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClC,yDAAyD;gBACzD,+DAA+D;gBAC/D,4DAA4D;gBAC5D,gEAAgE;gBAChE,6DAA6D;gBAC7D,8DAA8D;gBAC9D,4DAA4D;gBAC5D,0DAA0D;gBAC1D,0DAA0D;gBAC1D,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;gBACpD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;gBACxE,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,IAAI;oBACZ,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,kBAAkB,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI;oBACjD,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,IAAI;oBACzC,YAAY,EAAE,WAAW;oBACzB,eAAe,EAAE,QAAQ,CAAC,MAAM;oBAChC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;oBACtC,YAAY,EAAE,WAAW;oBACzB,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC5E,YAAY,EAAE,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC;iBACvD,CAAC,CAAC;YACL,CAAC;YAED,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,OAAO;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,OAAO,EAAE,aAAa,IAAI,wBAAwB,QAAQ,CAAC,MAAM,EAAE;gBACnE,eAAe,EAAE,QAAQ,CAAC,MAAM;gBAChC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;gBACtC,oBAAoB,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI;aACpD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,OAAO;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAkB;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,+EAA+E;aACzF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC5E,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;oBACnB,OAAO,UAAU,CAAC;wBAChB,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,2DAA2D;qBACrE,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;oBAC5C,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,QAAQ;iBACT,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC3B,aAAa,EAAE,QAAQ,CAAC,QAAQ,EAAE;oBAClC,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE,MAAM,CAAC,SAAS;oBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC5D,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,SAAS,IAAI,CAAC,KAAK,yBAAyB,IAAI,CAAC,OAAO,4BAA4B;iBAC9F,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrE,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;gBACjB,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,+DAA+D;iBACzE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE;gBACzC,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1F,CAAC,CAAC;YACH,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,aAAa,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI;gBAC/E,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3B,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE;gBAChC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,YAAY,EAAE,MAAM,CAAC,SAAS;gBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAA2B;QACjD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC;QAE1D,8DAA8D;QAC9D,kEAAkE;QAClE,4CAA4C;QAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,OAAO;gBACf,OAAO,EACL,mJAAmJ;aACtJ,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,SAAS;gBAC3B,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE;oBACR,MAAM,EAAE,GAAG;oBACX,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;iBACtC;aACF,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,mBAAmB,EAAE;gBAC7D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC7C,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,aAAa,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;iBAC1D,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAK3B,CAAC;YACF,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,IAAI;gBACZ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAwB;QAC1C,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,oBAAoB;YAC5B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,gBAAgB,EAAE,IAAI,CAAC,WAAW;YAClC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,SAAS,IAAI,CAAC,SAAS,sKAAsK;SACvM,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAsB;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAClC,gBAAgB,EAAE,IAAI,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,UAAU;gBAC7B,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,YAAY,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;aAC/D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAkB;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO,EACL,8KAA8K;aACjL,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,KAAK;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACpE,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAE7E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC3B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;aAC3D,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,aAAa,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;iBAC1D,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAU3B,CAAC;YACF,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACxB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,SAAS,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;oBACvD,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,YAAY,EAAE,CAAC,CAAC,MAAM;oBACtB,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI;oBAChC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI;oBACpC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;oBACxC,SAAS,EAAE,CAAC,CAAC,WAAW;oBACxB,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;iBACtE,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAkB;QAC/B,OAAO,aAAa,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAoB;QACnC,OAAO,eAAe,CAAC;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAA2B;QACjD,OAAO,sBAAsB,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,IAAuB;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAiB,CAAC;QACvD,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,MAAM,0BAA0B,IAAI,CAAC,OAAO,GAAG;aAC5D,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;QACtC,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,iEAAiE;aAC3E,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,YAAY,GAChB,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAEvF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE;oBAC9C,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,YAAY;iBACb,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,QAAQ;oBACd,MAAM;oBACN,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,oBAAoB,EAAE,MAAM,CAAC,kBAAkB;oBAC/C,uBAAuB,EAAE,GAAG;oBAC5B,gBAAgB,EAAE,GAAG;oBACrB,YAAY,EAAE,MAAM,CAAC,SAAS;oBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC5D,CAAC,CAAC;YACL,CAAC;YAED,MAAM,GAAG,GACP,IAAI,KAAK,WAAW;gBAClB,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE;gBAChB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;gBACd,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,2EAA2E;iBACrF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE;gBAC3C,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACjC,MAAM,EAAE,GAAG;gBACX,YAAY;aACb,CAAC,CAAC;YACH,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,IAAI;gBACZ,IAAI;gBACJ,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,oBAAoB,EAAE,MAAM,CAAC,kBAAkB;gBAC/C,uBAAuB,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE;gBAC1D,gBAAgB,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC1F,YAAY,EAAE,MAAM,CAAC,SAAS;gBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,IAAoB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EACL,iKAAiK;aACpK,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EACL,6FAA6F;aAChG,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC3B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;aAC3D,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,WAAW;oBACnB,YAAY,EAAE,IAAI;oBAClB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,wBAAwB,IAAI,OAAO,IAAI,CAAC,OAAO,oIAAoI;iBAC7L,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,UAAU,CAAC;oBAChB,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,aAAa,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;iBAC1D,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAW1B,CAAC;YACF,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,SAAS,EAAE,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;gBACzD,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,GAAG,CAAC,MAAM;gBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;gBAClF,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC3E,OAAO,EAAE,GAAG,CAAC,GAAG;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAA4B;QACnD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,OAAO;gBACf,OAAO,EACL,+FAA+F;aAClG,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,SAAS,GAAqC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;gBACpC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,SAAS;gBACT,KAAK;gBACL,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;oBACtC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC5B,IAAI;iBACL;gBACD,SAAS;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACxB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,MAAM,CAAC,YAAY;gBACnC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB;gBAC3C,OAAO,EAAE,MAAM,CAAC,MAAM;gBACtB,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,cAAc,EAAE,MAAM,CAAC,aAAa;gBACpC,aAAa,EAAE,MAAM,CAAC,WAAW;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,SAAS,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;oBACvD,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,YAAY,EAAE,CAAC,CAAC,MAAM;oBACtB,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI;oBAChC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;oBACtC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI;oBACpC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;oBACxC,SAAS,EAAE,CAAC,CAAC,WAAW;oBACxB,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;oBAChF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;iBACzE,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAA2B;QACjD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,OAAO;gBACf,OAAO,EACL,8FAA8F;aACjG,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;gBACpC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAE,IAAI;gBACX,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;oBACtC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC5B,IAAI;iBACL;gBACD,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE;oBACN,UAAU,EAAE,MAAM,CAAC,SAAS;oBAC5B,QAAQ,EAAE,MAAM,CAAC,YAAY;oBAC7B,cAAc,EAAE,MAAM,CAAC,aAAa;oBACpC,YAAY,EAAE,MAAM,CAAC,gBAAgB;oBACrC,OAAO,EAAE,MAAM,CAAC,MAAM;oBACtB,aAAa,EAAE,MAAM,CAAC,WAAW;iBAClC;gBACD,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,IAAuB;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAiB,CAAC;QACvD,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,MAAM,0BAA0B,IAAI,CAAC,OAAO,GAAG;aAC5D,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,YAAY,GAChB,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,oBAAoB,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE;gBAC3C,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY;aACb,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;YAC9D,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,IAAI;gBACZ,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,oBAAoB,EAAE,MAAM,CAAC,kBAAkB;gBAC/C,aAAa,EAAE,MAAM,CAAC,YAAY;gBAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,gBAAgB,EAAE,IAAI,CAAC,WAAW;gBAClC,0BAA0B,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW;gBAChE,uBAAuB,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE;gBAC1D,gBAAgB,EAAE,WAAW;oBAC3B,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC1D,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACzC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;gBACvD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,MAAc,EAAE,QAAgB;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACvD,8DAA8D;IAC9D,gCAAgC;IAChC,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,GAAG,KAAK,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,SAAS,eAAe,CAAC,MAAc,EAAE,QAAgB;IACvD,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,OAAmB;IAC7D,MAAM,OAAO,GAAG,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACtE,OAAO,8BAA8B,MAAM,GAAG,OAAO,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,OAAmB;IAC3D,MAAM,OAAO,GAAG,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACtE,OAAO,yBAAyB,SAAS,GAAG,OAAO,EAAE,CAAC;AACxD,CAAC;AAED,wEAAwE;AACxE,SAAS,QAAQ,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAeD;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAAC,IAOjC;IACC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,6DAA6D;IAC7D,sEAAsE;IACtE,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACpE,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7E,IAAI,MAAM;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAG3B,CAAC;QAEF,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9D,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM;YACR,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/B,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,MAAM;QACrC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED,kFAAkF;AAClF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtD,4DAA4D;AAC5D,SAAS,iBAAiB,CAAC,KAAmB;IAQ5C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,8DAA8D;IAC9D,8DAA8D;IAC9D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS,EAAE,CAAC;aAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,aAAa,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;YAAE,SAAS;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,GAAG,CAAC;aAClC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,WAAW,IAAI,GAAG,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACnE,OAAO;QACL,SAAS;QACT,aAAa;QACb,WAAW;QACX,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;QACvC,gBAAgB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;QAC/C,MAAM,EAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE;KAChD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,KAAmB,EACnB,IAAY;IASZ,MAAM,GAAG,GAAG,IAAI,GAAG,EAGhB,CAAC;IAEJ,iEAAiE;IACjE,+DAA+D;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAAE,SAAS;QAC/C,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,CAAC,SAAS,EAAE,CAAC;aACtC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC7D,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;aACzC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC;IACxD,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACnE,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnB,IAAI;QACJ,UAAU,EAAE,CAAC,CAAC,SAAS;QACvB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;QACrC,cAAc,EAAE,CAAC,CAAC,aAAa;QAC/B,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;QAC7C,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;KACrD,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,MAAM,CAAC,CAAO;IACrB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,aAAa,CAAC,CAAO;IAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AAC5B,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@leashmarket/mcp` — standalone MCP server for Leash.
|
|
3
|
+
*
|
|
4
|
+
* Public exports
|
|
5
|
+
* --------------
|
|
6
|
+
* - `runStdioServer()` : boot the STDIO server (used by `bin/leash-mcp`)
|
|
7
|
+
* - `buildServerFromEnv()` : build server + parsed config without running
|
|
8
|
+
* - `createLeashMcpServer()` : low-level builder that takes a `LeashHost`
|
|
9
|
+
* - `loadAgentConfig()` : read `~/.config/leash/agent.json` + env
|
|
10
|
+
* - `loadAgentSession()` : same, plus optional `pending_register` block
|
|
11
|
+
* - `loadSigner()` : decode an executive secret into a `LeashSigner`
|
|
12
|
+
* - `mintAgentLocally()` : client-side mint + delegate + record helper
|
|
13
|
+
*
|
|
14
|
+
* Importing this package does NOT auto-run the server. Use the
|
|
15
|
+
* `leash-mcp` binary or call `runStdioServer()` directly.
|
|
16
|
+
*/
|
|
17
|
+
export { HostRef, buildServerFromEnv, createLeashMcpServer, runStdioServer } from './server.js';
|
|
18
|
+
export { defaultConfigPath, defaultRpcFor, loadAgentConfig, loadAgentSession, type AgentSession, type LeashAgentConfig, type LeashHostDefaults, type PendingRegister, } from './config.js';
|
|
19
|
+
export { writeAgentConfig, writePendingRegister } from './config-write.js';
|
|
20
|
+
export { loadSigner, type LeashSigner } from './signer.js';
|
|
21
|
+
export { createStdioHost } from './host-stdio.js';
|
|
22
|
+
export { RECOMMENDED_FUND_LAMPORTS, RECOMMENDED_FUND_SOL, generateExecutive, getExecutiveBalanceLamports, importExecutive, lamportsToSol, mintAgentLocally, solToLamports, type ExecutiveKeypair, type MintLocallyArgs, type MintLocallyResult, } from './mint-local.js';
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhG,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@leashmarket/mcp` — standalone MCP server for Leash.
|
|
3
|
+
*
|
|
4
|
+
* Public exports
|
|
5
|
+
* --------------
|
|
6
|
+
* - `runStdioServer()` : boot the STDIO server (used by `bin/leash-mcp`)
|
|
7
|
+
* - `buildServerFromEnv()` : build server + parsed config without running
|
|
8
|
+
* - `createLeashMcpServer()` : low-level builder that takes a `LeashHost`
|
|
9
|
+
* - `loadAgentConfig()` : read `~/.config/leash/agent.json` + env
|
|
10
|
+
* - `loadAgentSession()` : same, plus optional `pending_register` block
|
|
11
|
+
* - `loadSigner()` : decode an executive secret into a `LeashSigner`
|
|
12
|
+
* - `mintAgentLocally()` : client-side mint + delegate + record helper
|
|
13
|
+
*
|
|
14
|
+
* Importing this package does NOT auto-run the server. Use the
|
|
15
|
+
* `leash-mcp` binary or call `runStdioServer()` directly.
|
|
16
|
+
*/
|
|
17
|
+
export { HostRef, buildServerFromEnv, createLeashMcpServer, runStdioServer } from './server.js';
|
|
18
|
+
export { defaultConfigPath, defaultRpcFor, loadAgentConfig, loadAgentSession, } from './config.js';
|
|
19
|
+
export { writeAgentConfig, writePendingRegister } from './config-write.js';
|
|
20
|
+
export { loadSigner } from './signer.js';
|
|
21
|
+
export { createStdioHost } from './host-stdio.js';
|
|
22
|
+
export { RECOMMENDED_FUND_LAMPORTS, RECOMMENDED_FUND_SOL, generateExecutive, getExecutiveBalanceLamports, importExecutive, lamportsToSol, mintAgentLocally, solToLamports, } from './mint-local.js';
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhG,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,gBAAgB,GAKjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,GAId,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side agent provisioning.
|
|
3
|
+
*
|
|
4
|
+
* The Leash protocol no longer holds keypairs or runs a faucet —
|
|
5
|
+
* agent provisioning is fully client-side from `@leashmarket/mcp` /
|
|
6
|
+
* `@leashmarket/cli` / `@leashmarket/sdk`. This module owns the three operations
|
|
7
|
+
* the host runs in series:
|
|
8
|
+
*
|
|
9
|
+
* 1. Generate (or import) the executive keypair.
|
|
10
|
+
* 2. Mint the MPL Core agent asset (`@leashmarket/registry-utils::createAgent`).
|
|
11
|
+
* 3. Set unlimited USDC spend delegation from the agent's treasury
|
|
12
|
+
* PDA to the executive (`setSpendDelegation`) so the buyer-kit
|
|
13
|
+
* can spend treasury USDC without `no_delegate` failures.
|
|
14
|
+
* 4. POST `/v1/agents/record` so the API has a row for receipts +
|
|
15
|
+
* discovery + reputation indexing.
|
|
16
|
+
*
|
|
17
|
+
* The executive must already hold enough SOL to pay rent + tx fees;
|
|
18
|
+
* `quoteMintCostLamports` exposes the threshold so the host can
|
|
19
|
+
* surface a `funding_required` UX before attempting the mint.
|
|
20
|
+
*
|
|
21
|
+
* Same logic on devnet + mainnet — the only network-specific bits
|
|
22
|
+
* are the USDC mint address (resolved via `KNOWN_STABLES`) and the
|
|
23
|
+
* cluster slug threaded into `createAgent`.
|
|
24
|
+
*/
|
|
25
|
+
import type { SvmNetwork } from '@leashmarket/mcp-core';
|
|
26
|
+
import { type RegistrationService } from '@leashmarket/registry-utils';
|
|
27
|
+
/**
|
|
28
|
+
* Recommended SOL balance for the executive before calling
|
|
29
|
+
* `mintAgentLocally`. Sized for one Core mint + one Approve tx +
|
|
30
|
+
* one ATA creation + a healthy buffer for priority fees and the
|
|
31
|
+
* occasional retry. Same number for devnet and mainnet — rent is
|
|
32
|
+
* the dominant cost on both.
|
|
33
|
+
*
|
|
34
|
+
* Actual breakdown (devnet 2026-04 measurements):
|
|
35
|
+
* - Core asset rent: ~0.00161 SOL
|
|
36
|
+
* - AgentIdentityV1 plugin rent: ~0.00177 SOL
|
|
37
|
+
* - USDC ATA creation rent: ~0.00203 SOL
|
|
38
|
+
* - 2 transaction signatures: ~0.00001 SOL
|
|
39
|
+
* - priority + buffer: ~0.00458 SOL
|
|
40
|
+
* - total recommended: ~0.01000 SOL
|
|
41
|
+
*/
|
|
42
|
+
export declare const RECOMMENDED_FUND_LAMPORTS = 10000000n;
|
|
43
|
+
export declare const RECOMMENDED_FUND_SOL = "0.01";
|
|
44
|
+
/** Hard lower bound — below this the mint cannot land at all. */
|
|
45
|
+
export declare const MIN_FUND_LAMPORTS = 4500000n;
|
|
46
|
+
export type ExecutiveKeypair = {
|
|
47
|
+
/** 64-byte ed25519 secret, base58. */
|
|
48
|
+
secretBase58: string;
|
|
49
|
+
/** Base58 pubkey. */
|
|
50
|
+
pubkey: string;
|
|
51
|
+
};
|
|
52
|
+
/** Generate a fresh executive keypair using Umi's eddsa primitives. */
|
|
53
|
+
export declare function generateExecutive(): ExecutiveKeypair;
|
|
54
|
+
/**
|
|
55
|
+
* Decode an imported executive secret and return its pubkey. Used to
|
|
56
|
+
* validate `mode: "import"` input before persisting it.
|
|
57
|
+
*
|
|
58
|
+
* Accepts both base58 (the form the MCP / CLI emit) and the JSON-array
|
|
59
|
+
* form `solana-keygen` writes. Throws on wrong-length / non-base58
|
|
60
|
+
* input so the LLM-facing error is actionable.
|
|
61
|
+
*/
|
|
62
|
+
export declare function importExecutive(secretRaw: string): ExecutiveKeypair;
|
|
63
|
+
/**
|
|
64
|
+
* Read the executive's current SOL balance via RPC. Single-shot
|
|
65
|
+
* read, no retry — callers compose this with their own polling.
|
|
66
|
+
*/
|
|
67
|
+
export declare function getExecutiveBalanceLamports(args: {
|
|
68
|
+
rpcUrl: string;
|
|
69
|
+
pubkey: string;
|
|
70
|
+
}): Promise<bigint>;
|
|
71
|
+
export type MintLocallyArgs = {
|
|
72
|
+
executive: ExecutiveKeypair;
|
|
73
|
+
network: SvmNetwork;
|
|
74
|
+
rpcUrl: string;
|
|
75
|
+
apiBaseUrl: string;
|
|
76
|
+
apiKey?: string | null;
|
|
77
|
+
/** Friendly name written into MPL Core metadata. Defaults to `Agent <pub[0..8]>`. */
|
|
78
|
+
name?: string;
|
|
79
|
+
description?: string;
|
|
80
|
+
imageUrl?: string;
|
|
81
|
+
/**
|
|
82
|
+
* EIP-8004 RegistrationV1 `services[]` — caller-controlled endpoints
|
|
83
|
+
* the agent advertises (e.g. `{ name: 'web', endpoint: 'https://…' }`,
|
|
84
|
+
* `{ name: 'api', endpoint: 'https://…' }`). Threaded through three
|
|
85
|
+
* places in lockstep:
|
|
86
|
+
* 1. On-chain MPL Core `agentMetadata.services[]` (via `createAgent`).
|
|
87
|
+
* 2. Off-chain RegistrationV1 doc embedded in the asset `uri`
|
|
88
|
+
* (`buildRegistrationV1(...).services`).
|
|
89
|
+
* 3. Platform DB row written by `POST /v1/agents/record`.
|
|
90
|
+
* Leash always auto-injects a `receipts` service entry — callers
|
|
91
|
+
* don't need to supply one.
|
|
92
|
+
*/
|
|
93
|
+
services?: RegistrationService[];
|
|
94
|
+
fetchImpl?: typeof globalThis.fetch;
|
|
95
|
+
};
|
|
96
|
+
export type MintLocallyResult = {
|
|
97
|
+
mint: string;
|
|
98
|
+
treasury: string;
|
|
99
|
+
executivePubkey: string;
|
|
100
|
+
network: SvmNetwork;
|
|
101
|
+
txSignatures: {
|
|
102
|
+
mint: string;
|
|
103
|
+
delegate: string;
|
|
104
|
+
};
|
|
105
|
+
receiptsServiceUrl: string;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Mint a brand-new agent owned by `executive`, set unlimited USDC
|
|
109
|
+
* spend delegation from the asset's treasury to the executive, and
|
|
110
|
+
* record the result on the Leash API.
|
|
111
|
+
*
|
|
112
|
+
* Fails if the executive lacks SOL — caller is responsible for
|
|
113
|
+
* checking `getExecutiveBalanceLamports` against
|
|
114
|
+
* `RECOMMENDED_FUND_LAMPORTS` first.
|
|
115
|
+
*/
|
|
116
|
+
export declare function mintAgentLocally(args: MintLocallyArgs): Promise<MintLocallyResult>;
|
|
117
|
+
/**
|
|
118
|
+
* Convert SOL display units (e.g. `0.01`) to lamports without the
|
|
119
|
+
* float quirks of `Number * 1e9`. Used by callers that need to
|
|
120
|
+
* format funding instructions for the model.
|
|
121
|
+
*/
|
|
122
|
+
export declare function solToLamports(sol: string): bigint;
|
|
123
|
+
/**
|
|
124
|
+
* Inverse of {@link solToLamports} — returns a fixed-9 string the
|
|
125
|
+
* UI can show without scientific notation.
|
|
126
|
+
*/
|
|
127
|
+
export declare function lamportsToSol(lamports: bigint): string;
|
|
128
|
+
//# sourceMappingURL=mint-local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mint-local.d.ts","sourceRoot":"","sources":["../src/mint-local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAaH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAOL,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,YAAc,CAAC;AACrD,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,WAAa,CAAC;AAI5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,iBAAiB,IAAI,gBAAgB,CAOpD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAkCnE;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAIlB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwGxF;AAcD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOtD"}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side agent provisioning.
|
|
3
|
+
*
|
|
4
|
+
* The Leash protocol no longer holds keypairs or runs a faucet —
|
|
5
|
+
* agent provisioning is fully client-side from `@leashmarket/mcp` /
|
|
6
|
+
* `@leashmarket/cli` / `@leashmarket/sdk`. This module owns the three operations
|
|
7
|
+
* the host runs in series:
|
|
8
|
+
*
|
|
9
|
+
* 1. Generate (or import) the executive keypair.
|
|
10
|
+
* 2. Mint the MPL Core agent asset (`@leashmarket/registry-utils::createAgent`).
|
|
11
|
+
* 3. Set unlimited USDC spend delegation from the agent's treasury
|
|
12
|
+
* PDA to the executive (`setSpendDelegation`) so the buyer-kit
|
|
13
|
+
* can spend treasury USDC without `no_delegate` failures.
|
|
14
|
+
* 4. POST `/v1/agents/record` so the API has a row for receipts +
|
|
15
|
+
* discovery + reputation indexing.
|
|
16
|
+
*
|
|
17
|
+
* The executive must already hold enough SOL to pay rent + tx fees;
|
|
18
|
+
* `quoteMintCostLamports` exposes the threshold so the host can
|
|
19
|
+
* surface a `funding_required` UX before attempting the mint.
|
|
20
|
+
*
|
|
21
|
+
* Same logic on devnet + mainnet — the only network-specific bits
|
|
22
|
+
* are the USDC mint address (resolved via `KNOWN_STABLES`) and the
|
|
23
|
+
* cluster slug threaded into `createAgent`.
|
|
24
|
+
*/
|
|
25
|
+
import { mplCore, safeFetchAssetV1 } from '@metaplex-foundation/mpl-core';
|
|
26
|
+
import { mplToolbox } from '@metaplex-foundation/mpl-toolbox';
|
|
27
|
+
import { createUmi } from '@metaplex-foundation/umi-bundle-defaults';
|
|
28
|
+
import { keypairIdentity, publicKey, } from '@metaplex-foundation/umi';
|
|
29
|
+
import { base58 } from '@metaplex-foundation/umi/serializers';
|
|
30
|
+
import { KNOWN_STABLES, SPL_TOKEN_PROGRAM_ID, buildRegistrationV1, createAgent, registrationToDataUrl, setSpendDelegation, } from '@leashmarket/registry-utils';
|
|
31
|
+
/**
|
|
32
|
+
* Recommended SOL balance for the executive before calling
|
|
33
|
+
* `mintAgentLocally`. Sized for one Core mint + one Approve tx +
|
|
34
|
+
* one ATA creation + a healthy buffer for priority fees and the
|
|
35
|
+
* occasional retry. Same number for devnet and mainnet — rent is
|
|
36
|
+
* the dominant cost on both.
|
|
37
|
+
*
|
|
38
|
+
* Actual breakdown (devnet 2026-04 measurements):
|
|
39
|
+
* - Core asset rent: ~0.00161 SOL
|
|
40
|
+
* - AgentIdentityV1 plugin rent: ~0.00177 SOL
|
|
41
|
+
* - USDC ATA creation rent: ~0.00203 SOL
|
|
42
|
+
* - 2 transaction signatures: ~0.00001 SOL
|
|
43
|
+
* - priority + buffer: ~0.00458 SOL
|
|
44
|
+
* - total recommended: ~0.01000 SOL
|
|
45
|
+
*/
|
|
46
|
+
export const RECOMMENDED_FUND_LAMPORTS = 10000000n;
|
|
47
|
+
export const RECOMMENDED_FUND_SOL = '0.01';
|
|
48
|
+
/** Hard lower bound — below this the mint cannot land at all. */
|
|
49
|
+
export const MIN_FUND_LAMPORTS = 4500000n;
|
|
50
|
+
const LAMPORTS_PER_SOL = 1_000_000_000;
|
|
51
|
+
/** Generate a fresh executive keypair using Umi's eddsa primitives. */
|
|
52
|
+
export function generateExecutive() {
|
|
53
|
+
const probe = createUmi('https://invalid');
|
|
54
|
+
const kp = probe.eddsa.generateKeypair();
|
|
55
|
+
return {
|
|
56
|
+
secretBase58: base58.deserialize(kp.secretKey)[0],
|
|
57
|
+
pubkey: kp.publicKey.toString(),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Decode an imported executive secret and return its pubkey. Used to
|
|
62
|
+
* validate `mode: "import"` input before persisting it.
|
|
63
|
+
*
|
|
64
|
+
* Accepts both base58 (the form the MCP / CLI emit) and the JSON-array
|
|
65
|
+
* form `solana-keygen` writes. Throws on wrong-length / non-base58
|
|
66
|
+
* input so the LLM-facing error is actionable.
|
|
67
|
+
*/
|
|
68
|
+
export function importExecutive(secretRaw) {
|
|
69
|
+
const trimmed = secretRaw.trim();
|
|
70
|
+
let bytes;
|
|
71
|
+
if (trimmed.startsWith('[')) {
|
|
72
|
+
const parsed = JSON.parse(trimmed);
|
|
73
|
+
if (!Array.isArray(parsed) || parsed.length !== 64) {
|
|
74
|
+
throw new Error('executive secret JSON must be a 64-element byte array');
|
|
75
|
+
}
|
|
76
|
+
bytes = Uint8Array.from(parsed.map((n) => Number(n)));
|
|
77
|
+
if (bytes.some((b) => Number.isNaN(b) || b < 0 || b > 255)) {
|
|
78
|
+
throw new Error('executive secret JSON contains non-byte values');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
try {
|
|
83
|
+
bytes = base58.serialize(trimmed);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
throw new Error(`executive secret is not a valid base58 string: ${err instanceof Error ? err.message : 'unknown'}`);
|
|
87
|
+
}
|
|
88
|
+
if (bytes.length !== 64) {
|
|
89
|
+
throw new Error(`executive secret must decode to 64 bytes (got ${bytes.length}). Use solana-keygen output verbatim.`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const probe = createUmi('https://invalid');
|
|
93
|
+
const kp = probe.eddsa.createKeypairFromSecretKey(bytes);
|
|
94
|
+
return {
|
|
95
|
+
secretBase58: base58.deserialize(bytes)[0],
|
|
96
|
+
pubkey: kp.publicKey.toString(),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Read the executive's current SOL balance via RPC. Single-shot
|
|
101
|
+
* read, no retry — callers compose this with their own polling.
|
|
102
|
+
*/
|
|
103
|
+
export async function getExecutiveBalanceLamports(args) {
|
|
104
|
+
const umi = createUmi(args.rpcUrl);
|
|
105
|
+
const sol = await umi.rpc.getBalance(publicKey(args.pubkey));
|
|
106
|
+
return BigInt(sol.basisPoints.toString());
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Mint a brand-new agent owned by `executive`, set unlimited USDC
|
|
110
|
+
* spend delegation from the asset's treasury to the executive, and
|
|
111
|
+
* record the result on the Leash API.
|
|
112
|
+
*
|
|
113
|
+
* Fails if the executive lacks SOL — caller is responsible for
|
|
114
|
+
* checking `getExecutiveBalanceLamports` against
|
|
115
|
+
* `RECOMMENDED_FUND_LAMPORTS` first.
|
|
116
|
+
*/
|
|
117
|
+
export async function mintAgentLocally(args) {
|
|
118
|
+
const { executive, network, rpcUrl, apiBaseUrl } = args;
|
|
119
|
+
const fetchImpl = args.fetchImpl ?? globalThis.fetch;
|
|
120
|
+
const name = (args.name ?? '').trim() || `Agent ${executive.pubkey.slice(0, 8)}`;
|
|
121
|
+
const description = args.description ?? 'Provisioned via @leashmarket/mcp';
|
|
122
|
+
const imageUrl = args.imageUrl ?? '';
|
|
123
|
+
const callerServices = args.services ?? [];
|
|
124
|
+
const umi = buildExecutiveUmi(rpcUrl, executive);
|
|
125
|
+
// Build the EIP-8004 RegistrationV1 doc once and reuse it for both
|
|
126
|
+
// the on-chain `uri` and (after the mint lands) the platform DB
|
|
127
|
+
// row. `createAgent` writes its own `receipts` service entry into
|
|
128
|
+
// the on-chain `agentMetadata.services[]` block, so we keep the
|
|
129
|
+
// off-chain doc symmetrical: caller services + receipts injection
|
|
130
|
+
// happen via the same `@leashmarket/registry-utils` paths the chat
|
|
131
|
+
// product uses.
|
|
132
|
+
const registration = buildRegistrationV1({
|
|
133
|
+
name,
|
|
134
|
+
description,
|
|
135
|
+
image: imageUrl,
|
|
136
|
+
services: callerServices,
|
|
137
|
+
x402Support: true,
|
|
138
|
+
});
|
|
139
|
+
const uri = registrationToDataUrl(registration);
|
|
140
|
+
// 1. Mint the MPL Core agent. The executive pays rent, owns the
|
|
141
|
+
// asset, and controls the on-chain identity from this point on.
|
|
142
|
+
// `createAgent` from `@leashmarket/registry-utils` auto-injects a
|
|
143
|
+
// `receipts` service unless the caller already includes one.
|
|
144
|
+
const minted = await createAgent(umi, {
|
|
145
|
+
wallet: executive.pubkey,
|
|
146
|
+
name,
|
|
147
|
+
uri,
|
|
148
|
+
description,
|
|
149
|
+
network,
|
|
150
|
+
services: callerServices,
|
|
151
|
+
});
|
|
152
|
+
// 2. Wait for the asset to be visible on RPC. Devnet routinely takes
|
|
153
|
+
// 1-3s between confirmation and account-read indexing; mainnet is
|
|
154
|
+
// usually <1s but can spike. Polling avoids
|
|
155
|
+
// `mpl-core::Execute(SPL.Approve)` panicking with "Invalid Asset
|
|
156
|
+
// passed in" when the program reads an empty slot.
|
|
157
|
+
await waitForAssetVisible({ umi, asset: minted.assetAddress });
|
|
158
|
+
// 3. Set unlimited USDC delegation. Without this the buyer-kit's
|
|
159
|
+
// pre-flight returns `no_delegate` and the very first
|
|
160
|
+
// `leash_pay_payment_link` call fails. Cap is `u64::MAX`; users
|
|
161
|
+
// can revoke / re-approve smaller caps later via
|
|
162
|
+
// `@leashmarket/registry-utils::setSpendDelegation` /
|
|
163
|
+
// `revokeSpendDelegation`.
|
|
164
|
+
const usdc = KNOWN_STABLES[network].find((s) => s.symbol === 'USDC');
|
|
165
|
+
if (!usdc) {
|
|
166
|
+
throw new Error(`USDC not configured for ${network}`);
|
|
167
|
+
}
|
|
168
|
+
const delegation = await setSpendDelegation(umi, {
|
|
169
|
+
agentAsset: minted.assetAddress,
|
|
170
|
+
mint: usdc.mint,
|
|
171
|
+
executive: executive.pubkey,
|
|
172
|
+
amount: 2n ** 64n - 1n,
|
|
173
|
+
tokenProgram: usdc.tokenProgram ?? SPL_TOKEN_PROGRAM_ID,
|
|
174
|
+
});
|
|
175
|
+
// 4. Record the platform row. Server reads the asset over RPC,
|
|
176
|
+
// verifies `owner === executive_pubkey`, and writes the agents
|
|
177
|
+
// table + stub service key. Idempotent on `mint`.
|
|
178
|
+
const recordUrl = `${apiBaseUrl.replace(/\/+$/, '')}/v1/agents/record`;
|
|
179
|
+
const headers = { 'content-type': 'application/json' };
|
|
180
|
+
if (args.apiKey)
|
|
181
|
+
headers.authorization = `Bearer ${args.apiKey}`;
|
|
182
|
+
const recordRes = await fetchImpl(recordUrl, {
|
|
183
|
+
method: 'POST',
|
|
184
|
+
headers,
|
|
185
|
+
body: JSON.stringify({
|
|
186
|
+
mint: minted.assetAddress,
|
|
187
|
+
executive_pubkey: executive.pubkey,
|
|
188
|
+
name,
|
|
189
|
+
...(description ? { description } : {}),
|
|
190
|
+
...(imageUrl ? { image_url: imageUrl } : {}),
|
|
191
|
+
services: callerServices,
|
|
192
|
+
network,
|
|
193
|
+
}),
|
|
194
|
+
});
|
|
195
|
+
const recordText = await recordRes.text();
|
|
196
|
+
if (!recordRes.ok) {
|
|
197
|
+
throw new Error(`/v1/agents/record ${recordRes.status}: ${recordText.slice(0, 500)}`);
|
|
198
|
+
}
|
|
199
|
+
const recorded = JSON.parse(recordText);
|
|
200
|
+
return {
|
|
201
|
+
mint: recorded.mint,
|
|
202
|
+
treasury: recorded.treasury,
|
|
203
|
+
executivePubkey: executive.pubkey,
|
|
204
|
+
network,
|
|
205
|
+
txSignatures: {
|
|
206
|
+
mint: minted.signature,
|
|
207
|
+
delegate: delegation.signature,
|
|
208
|
+
},
|
|
209
|
+
receiptsServiceUrl: recorded.receipts_service,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
// ────────────────────────────────────────────────────────────────────────────
|
|
213
|
+
// Internals
|
|
214
|
+
// ────────────────────────────────────────────────────────────────────────────
|
|
215
|
+
function buildExecutiveUmi(rpcUrl, executive) {
|
|
216
|
+
const umi = createUmi(rpcUrl).use(mplCore()).use(mplToolbox());
|
|
217
|
+
const secret = base58.serialize(executive.secretBase58);
|
|
218
|
+
const kp = umi.eddsa.createKeypairFromSecretKey(secret);
|
|
219
|
+
umi.use(keypairIdentity(kp));
|
|
220
|
+
return umi;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Convert SOL display units (e.g. `0.01`) to lamports without the
|
|
224
|
+
* float quirks of `Number * 1e9`. Used by callers that need to
|
|
225
|
+
* format funding instructions for the model.
|
|
226
|
+
*/
|
|
227
|
+
export function solToLamports(sol) {
|
|
228
|
+
const n = Number(sol);
|
|
229
|
+
if (!Number.isFinite(n) || n < 0) {
|
|
230
|
+
throw new Error(`invalid SOL amount: ${sol}`);
|
|
231
|
+
}
|
|
232
|
+
return BigInt(Math.round(n * LAMPORTS_PER_SOL));
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Inverse of {@link solToLamports} — returns a fixed-9 string the
|
|
236
|
+
* UI can show without scientific notation.
|
|
237
|
+
*/
|
|
238
|
+
export function lamportsToSol(lamports) {
|
|
239
|
+
if (lamports < 0n) {
|
|
240
|
+
throw new Error(`invalid lamports: ${lamports}`);
|
|
241
|
+
}
|
|
242
|
+
const whole = lamports / BigInt(LAMPORTS_PER_SOL);
|
|
243
|
+
const frac = (lamports % BigInt(LAMPORTS_PER_SOL)).toString().padStart(9, '0');
|
|
244
|
+
return `${whole}.${frac}`.replace(/0+$/, '').replace(/\.$/, '.0');
|
|
245
|
+
}
|
|
246
|
+
async function waitForAssetVisible(args) {
|
|
247
|
+
const deadline = Date.now() + (args.timeoutMs ?? 20_000);
|
|
248
|
+
let lastErr = null;
|
|
249
|
+
while (Date.now() < deadline) {
|
|
250
|
+
try {
|
|
251
|
+
const found = await safeFetchAssetV1(args.umi, publicKey(args.asset));
|
|
252
|
+
if (found)
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
lastErr = err;
|
|
257
|
+
}
|
|
258
|
+
await new Promise((r) => setTimeout(r, 750));
|
|
259
|
+
}
|
|
260
|
+
throw new Error(`mint ${args.asset} not visible on RPC within ${(args.timeoutMs ?? 20_000) / 1000}s${lastErr ? `: ${lastErr instanceof Error ? lastErr.message : 'unknown'}` : ''}`);
|
|
261
|
+
}
|
|
262
|
+
// `buildRegistrationDataUrl` was inlined here in v0.2 — it's now
|
|
263
|
+
// shared with the chat product via `@leashmarket/registry-utils`'s
|
|
264
|
+
// `buildRegistrationV1` + `registrationToDataUrl`. Keeping all
|
|
265
|
+
// three surfaces (chat / MCP / CLI) on one EIP-8004 builder means
|
|
266
|
+
// the on-chain `uri` shape stays identical regardless of who minted.
|
|
267
|
+
//# sourceMappingURL=mint-local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mint-local.js","sourceRoot":"","sources":["../src/mint-local.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thin client for the public agent-onboarding endpoints
|
|
3
|
+
* (`POST /v1/sandbox/agent`, `GET /v1/agents/self-register/info`).
|
|
4
|
+
*
|
|
5
|
+
* Lives here (not in `@leashmarket/sdk`) because:
|
|
6
|
+
*
|
|
7
|
+
* - The standalone MCP needs it before the SDK exists (the SDK is
|
|
8
|
+
* auto-generated in batch 10).
|
|
9
|
+
* - The shape is small + frozen by `apps/api`'s OpenAPI doc, so a
|
|
10
|
+
* hand-rolled client is the lowest-risk path for batch 4.
|
|
11
|
+
*
|
|
12
|
+
* Once `@leashmarket/sdk` lands the standalone host will swap to it and
|
|
13
|
+
* this file disappears.
|
|
14
|
+
*/
|
|
15
|
+
import type { SvmNetwork } from '@leashmarket/mcp-core';
|
|
16
|
+
export type SandboxAgentRequest = {
|
|
17
|
+
name?: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
};
|
|
20
|
+
export type SandboxAgentResponse = {
|
|
21
|
+
mint: string;
|
|
22
|
+
treasury: string;
|
|
23
|
+
executive_pubkey: string;
|
|
24
|
+
executive_secret_base58: string;
|
|
25
|
+
network: SvmNetwork;
|
|
26
|
+
tx_signatures: {
|
|
27
|
+
sol_drip: string;
|
|
28
|
+
mint: string;
|
|
29
|
+
usdc_drip: string;
|
|
30
|
+
};
|
|
31
|
+
explorer_urls: {
|
|
32
|
+
mint: string;
|
|
33
|
+
sol_drip: string;
|
|
34
|
+
usdc_drip: string;
|
|
35
|
+
};
|
|
36
|
+
funded: {
|
|
37
|
+
sol_lamports: string;
|
|
38
|
+
usdc_atomic: string;
|
|
39
|
+
};
|
|
40
|
+
receipts_service: string;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Provision a fully-funded devnet agent. Used by `leash_register_agent`
|
|
44
|
+
* on the standalone MCP. This endpoint is intentionally rate-limited
|
|
45
|
+
* (~5/IP/day) — fine for first-run onboarding, never for production
|
|
46
|
+
* traffic.
|
|
47
|
+
*
|
|
48
|
+
* Throws on every non-201 path. Caller wraps in `try/catch` and
|
|
49
|
+
* surfaces `message` to the LLM.
|
|
50
|
+
*/
|
|
51
|
+
export declare function postSandboxAgent(args: {
|
|
52
|
+
apiBaseUrl: string;
|
|
53
|
+
body?: SandboxAgentRequest;
|
|
54
|
+
fetchImpl?: typeof globalThis.fetch;
|
|
55
|
+
}): Promise<SandboxAgentResponse>;
|
|
56
|
+
//# sourceMappingURL=sandbox-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-api.d.ts","sourceRoot":"","sources":["../src/sandbox-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACrC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAahC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thin client for the public agent-onboarding endpoints
|
|
3
|
+
* (`POST /v1/sandbox/agent`, `GET /v1/agents/self-register/info`).
|
|
4
|
+
*
|
|
5
|
+
* Lives here (not in `@leash/sdk`) because:
|
|
6
|
+
*
|
|
7
|
+
* - The standalone MCP needs it before the SDK exists (the SDK is
|
|
8
|
+
* auto-generated in batch 10).
|
|
9
|
+
* - The shape is small + frozen by `apps/api`'s OpenAPI doc, so a
|
|
10
|
+
* hand-rolled client is the lowest-risk path for batch 4.
|
|
11
|
+
*
|
|
12
|
+
* Once `@leash/sdk` lands the standalone host will swap to it and
|
|
13
|
+
* this file disappears.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Provision a fully-funded devnet agent. Used by `leash_register_agent`
|
|
17
|
+
* on the standalone MCP. This endpoint is intentionally rate-limited
|
|
18
|
+
* (~5/IP/day) — fine for first-run onboarding, never for production
|
|
19
|
+
* traffic.
|
|
20
|
+
*
|
|
21
|
+
* Throws on every non-201 path. Caller wraps in `try/catch` and
|
|
22
|
+
* surfaces `message` to the LLM.
|
|
23
|
+
*/
|
|
24
|
+
export async function postSandboxAgent(args) {
|
|
25
|
+
const fetchImpl = args.fetchImpl ?? globalThis.fetch;
|
|
26
|
+
const url = `${args.apiBaseUrl.replace(/\/+$/, '')}/v1/sandbox/agent`;
|
|
27
|
+
const res = await fetchImpl(url, {
|
|
28
|
+
method: 'POST',
|
|
29
|
+
headers: { 'content-type': 'application/json' },
|
|
30
|
+
body: JSON.stringify(args.body ?? {}),
|
|
31
|
+
});
|
|
32
|
+
const text = await res.text();
|
|
33
|
+
if (!res.ok) {
|
|
34
|
+
throw new Error(`Leash API ${res.status}: ${text.slice(0, 500)}`);
|
|
35
|
+
}
|
|
36
|
+
return JSON.parse(text);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=sandbox-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-api.js","sourceRoot":"","sources":["../src/sandbox-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgCH;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAItC;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;IACrD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC;IACtE,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;QAC/B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyB,CAAC;AAClD,CAAC"}
|