@astra-code/astra-ai 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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/app/App.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,KAAK,CAAC;AAChD,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AACpC,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAC,MAAM,IAAI,CAAC;AACxD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AACnC,OAAO,EAAC,aAAa,EAAsB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAE,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAE,sBAAsB,EAAE,cAAc,EAAmC,MAAM,iBAAiB,CAAC;AAWpH,wBAAwB;AACxB,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,iFAAiF;AACjF,kBAAkB;AAClB,KAAK;AAEL,MAAM,WAAW,GAAG;;;;;;;;;CASnB,CAAC;AAEF,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,KAAK,GAAG,aAAa,EAAU,EAAE;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,UAAU,CAAC,yDAAyD,CAAC,CAAC;AAE9F,MAAM,oBAAoB,GAAG,+CAA+C,CAAC;AAE7E,MAAM,eAAe,GAAG,CAAC,KAAiB,EAAiB,EAAE;IAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;QACxC,OAAO,KAAK,IAAI,eAAe,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC;QAC3C,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAClB,OAAO,CAAC,MAA6B;YACnC,OAAO,CAAC,OAA8B;YACvC,KAAK,CAAC,KAAK;YACX,EAAE,CACL,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7D,OAAO,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACvC,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAClF,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,IAAI,OAAO,IAAI,eAAe,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,IAAY,EAAW,EAAE;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,UAAU,GACd,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,MAAM,GACV,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC3B,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxB,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,UAAU,IAAI,MAAM,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAiB,EAAiB,EAAE;IAChE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,QAAQ,GAAG,KAAgC,CAAC;IAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IACvC,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,EAAE,CAAC;QACvD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAA+B,CAAC;QACnD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC;QAC7E,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,EAAE,CAAC;YACjD,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,OAAO,GACX,0IAA0I,CAAC;AAE7I,MAAM,WAAW,GAAG,EAAE,CAAC;AASvB,MAAM,YAAY,GAAG,CAAC,IAAuB,EAAgB,EAAE;IAC7D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;QACtF,KAAK,MAAM;YACT,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;QACpF,KAAK,MAAM;YACT,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;QACrF,KAAK,OAAO;YACV,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;QACrF;YACE,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;IACvF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAU,EAAE;IACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;IAClE,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9B,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACnC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,OAAO,CAAC;IACpC,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAU,EAAE;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK;QACV,mDAAmD;SAClD,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;QACzC,qCAAqC;SACpC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,mCAAmC;SAClC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC,CAAC;AAIF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAiB,EAAE;IAClD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,EAAE,GAAG,0DAA0D,CAAC;IACtE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,GAAW,EAAY,EAAE;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,KAAa,EAAY,EAAE;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC/B,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,SAAS,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YAC9B,OAAO,GAAG,SAAS,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QAED,8DAA8D;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAE,SAAiB,EAAuB,EAAE;IACxG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,CAAC,MAAM,CAAC;YACjB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CACN,KAAC,IAAI,IAAgC,KAAK,EAAC,SAAS,YACjD,IAAI,IADI,GAAG,SAAS,SAAS,CAAC,EAAE,CAE5B,CACR,CAAC;YACF,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,mDAAmD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,GAAe,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/B,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;YAClC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClC,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBACxD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,GAAW,EAAE,KAAa,EAAE,IAAI,GAAG,KAAK,EAAQ,EAAE;gBACzF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;oBACrD,GAAG,CAAC,IAAI,CACN,KAAC,IAAI,IAA2B,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,YACrD,KAAK,MAAM;6BACT,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;6BAC/D,IAAI,CAAC,KAAK,CAAC,IAAI,IAHT,GAAG,GAAG,IAAI,OAAO,EAAE,CAIvB,CACR,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChC,cAAc,CAAC,SAAS,EAAE,GAAG,SAAS,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3E,GAAG,CAAC,IAAI,CACN,KAAC,IAAI,IAAqC,KAAK,EAAC,SAAS,YACtD,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IADjD,GAAG,SAAS,cAAc,CAAC,EAAE,CAEjC,CACR,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBAC/B,cAAc,CAAC,CAAC,EAAE,GAAG,SAAS,cAAc,CAAC,IAAI,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CACN,MAAC,GAAG,IAAiC,aAAa,EAAC,KAAK,aACtD,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,wBAAU,EAC/B,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,MAAM,kBACzB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAC3B,KAAC,IAAI,IAEH,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EACrB,MAAM,QACN,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAEpC,CAAC,CAAC,IAAI,IALF,GAAG,SAAS,UAAU,CAAC,QAAQ,GAAG,EAAE,CAMpC,CACR,CAAC,GACG,KAbC,GAAG,SAAS,UAAU,CAAC,EAAE,CAc7B,CACP,CAAC;YACF,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC;YAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACvC,GAAG,CAAC,IAAI,CACN,MAAC,IAAI,IAA8B,KAAK,EAAE,SAAS,aAChD,MAAM,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,kBACvB,MAAM,GACF,EACN,GAAG,EACH,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,KAAC,IAAI,IAEH,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EACrB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAEpC,CAAC,CAAC,IAAI,IALF,GAAG,SAAS,OAAO,CAAC,QAAQ,GAAG,EAAE,CAMjC,CACR,CAAC,KAfO,GAAG,SAAS,OAAO,CAAC,EAAE,CAgB1B,CACR,CAAC;YACF,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;YACvC,GAAG,CAAC,IAAI,CACN,MAAC,IAAI,IAA8B,KAAK,EAAE,SAAS,aACjD,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,wBAAU,EAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,KAAC,IAAI,IAEH,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EACrB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAEpC,CAAC,CAAC,IAAI,IALF,GAAG,SAAS,OAAO,CAAC,QAAQ,GAAG,EAAE,CAMjC,CACR,CAAC,KAXO,GAAG,SAAS,OAAO,CAAC,EAAE,CAY1B,CACR,CAAC;YACF,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,CAAC,IAAI,CACN,KAAC,IAAI,IAA6B,KAAK,EAAC,SAAS,EAAC,IAAI,kBACnD,IAAI,IADI,GAAG,SAAS,MAAM,CAAC,EAAE,CAEzB,CACR,CAAC;YACF,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,GAAG,CAAC,IAAI,CACN,KAAC,IAAI,IAAgC,KAAK,EAAE,SAAS,YAClD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,KAAC,IAAI,IAEH,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EACrB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAEpC,CAAC,CAAC,IAAI,IALF,GAAG,SAAS,SAAS,CAAC,QAAQ,GAAG,EAAE,CAMnC,CACR,CAAC,IAVO,GAAG,SAAS,SAAS,CAAC,EAAE,CAW5B,CACR,CAAC;QACF,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAsB,EAAE;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,EAAE,CAAC;IAExB,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,cAAc,GAAG,MAAM,CAA6B,IAAI,GAAG,EAAE,CAAC,CAAC;IAErE,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,OAAe,EAAE,OAAe,EAAE,QAAgB,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACzC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;YAC3C,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qEAAqE;QACvE,CAAC;IACH,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAAe,EAAE,EAAE;QAClB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACzC,UAAU,CAAC,GAAG,CAAC,CAAC;YAChB,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;IAClG,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;IAChF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAqB,OAAO,CAAC,CAAC;IACxE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAuB,OAAO,CAAC,CAAC;IAC5E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAc,QAAQ,CAAC,CAAC;IACtE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,MAAM,CAAqC,IAAI,CAAC,CAAC;IAEtE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,IAAuB,EAAE,IAAY,EAAE,EAAE;QACxE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhC,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAG,WAAW,GAAG,iBAAiB,CAAC;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,iBAAiB,CAAC,CAAC;IAEjF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,GAAW,EAAW,EAAE;QAC3D,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAChE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3C,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzB,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,eAAe,CAAC,CAAC,CAAC,CAAC;QACnB,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,cAAc,CAAC,UAAU,CAAC,CAAC;QAC3B,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvD,cAAc,CAAC,QAAQ,CAAC,CAAC;YACzB,eAAe,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,OAAO,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1G,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjC,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAmB,EAAE;QAC1D,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAAC,GAAS,EAAE;QAC5C,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,WAAW,CAAC,QAAQ,EAAE,wCAAwC,CAAC,CAAC;QAChE,YAAY,CAAC,OAAO,GAAG,sBAAsB,CAAC;YAC5C,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClB,SAAS,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChB,SAAS,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,WAAW,CAAC,OAAO,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC;YACxC,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,YAAY,CAAC,gEAAgE,CAAC,CAAC;oBAC/E,UAAU,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,UAAU,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC;YACjB,CAAC;iBAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtB,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,WAAW,CAAC;oBACV,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,wCAAwC,EAAC;oBAChE,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAC;iBAC3B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,SAAS,EAAE,CAAC;QACjB,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEhC,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACjC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;oBACzB,cAAc,CAAC,aAAa,CAAC,CAAC;oBAC9B,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAC1B,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjB,OAAO;gBACT,CAAC;gBACD,IAAI,EAAE,CAAC;YACT,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,KAAK,aAAa,EAAE,CAAC;YACrB,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;oBAC/B,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACzB,eAAe,CAAC,EAAE,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBACjC,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvD,OAAO;gBACT,CAAC;gBACD,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBACnC,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvD,OAAO;gBACT,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;wBAC7B,KAAK,mBAAmB,EAAE,CAAC;oBAC7B,CAAC;yBAAM,CAAC;wBACN,MAAM,EAAE,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC;wBACjD,IAAI,CAAC,EAAE,EAAE,CAAC;4BACR,WAAW,CAAC,QAAQ,EAAE,4CAA4C,oBAAoB,EAAE,CAAC,CAAC;wBAC5F,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,QAAQ,EAAE,8CAA8C,CAAC,CAAC;wBACxE,CAAC;wBACD,cAAc,CAAC,KAAK,CAAC,CAAC;wBACtB,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAC3B,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACpC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvG,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACjC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,KAAK,IAAI,EAAE;wBACf,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;4BAClE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;4BAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;4BACxB,WAAW,CACT,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAC,CAAgB,CAAC,CAC1G,CAAC;4BACF,cAAc,CAAC,KAAK,CAAC,CAAC;4BACtB,eAAe,CAAC,EAAE,CAAC,CAAC;4BACpB,cAAc,CAAC,QAAQ,CAAC,CAAC;4BACzB,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;4BAC1B,WAAW,CAAC,QAAQ,EAAE,WAAW,QAAQ,CAAC,KAAK,MAAM,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC;wBACnF,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,WAAW,CAAC,OAAO,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC5G,CAAC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,KAAK,IAAI,EAAE;wBACf,IAAI,CAAC;4BACH,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;4BACzC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;4BACvE,WAAW,CAAC,MAAM,EAAE,qBAAqB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,WAAW,CAAC,OAAO,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC9G,CAAC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YACrD,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,aAAa,CAAC,kCAAkC,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACnF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACxC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;gBACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;aAC1B,CAAC,CAAC;YAEH,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,WAAW,GAAG,IAAmB,CAAC;YACxC,WAAW,CAAC,WAAW,CAAC,CAAC;YACzB,OAAO,CAAC,WAAW,CAAC,CAAC;YACrB,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,WAAW,CAAC;gBACV,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,mCAAmC,EAAC;gBAC3D,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAC;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxE,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EAAE,KAAiB,EAAE,eAAuB,EAA0B,EAAE;QAC3E,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,cAAc,IAAI,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5G,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5D,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7E,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAEzE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;oBAC/C,WAAW,EAAE,UAAU;oBACvB,UAAU,EAAE,eAAe;oBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,WAAW,CAAC,MAAM,EAAE,kBAAkB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4DAA4D;QAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;YACxD,MAAM,UAAU,GAAI,KAAiC,CAAC,WAAiC,CAAC;YACxF,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YAEvE,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBACvC,WAAW,CAAC,MAAM,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;qBAAM,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;oBACtC,MAAM,OAAO,GACX,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ;wBACpC,CAAC,CAAC,CAAC,CAAC,gBAAgB;wBACpB,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;4BACnC,CAAC,CAAC,CAAC,CAAC,WAAW;4BACf,CAAC,CAAC,IAAI,CAAC;oBACX,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;wBACrB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;wBACvC,WAAW,CAAC,MAAM,EAAE,oBAAoB,OAAO,EAAE,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;qBAAM,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;oBACxC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACzB,WAAW,CAAC,MAAM,EAAE,qBAAqB,OAAO,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACvC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACjE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,CAAC,CACxD,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,SAAiB,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,WAAW,CACT,QAAQ,EACR,wGAAwG,CACzG,CAAC;YACF,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,WAAW,CACT,QAAQ,EACR,kBAAkB,WAAW,UAAU,aAAa,UAAU,WAAW,aAAa,mBAAmB,CAAC,WAAW,CAAC,UAAU,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,kBAAkB,EAAE,YAAY,aAAa,EAAE,EAAE,CACtQ,CAAC;YACF,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,WAAW,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;gBAC1D,OAAO;YACT,CAAC;YACD,cAAc,CAAC,SAAS,CAAC,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,eAAe,CAAC,EAAE,CAAC,CAAC;YACpB,WAAW,CACT,QAAQ,EACR,qBAAqB,SAAS,cAAc,mBAAmB,CAAC,SAAS,CAAC,gCAAgC,CAC3G,CAAC;YACF,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,WAAW,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,WAAW,CACT,QAAQ,EACR,iBAAiB,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,GAAG,CACvG,CAAC;YACF,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,WAAW,CAAC,QAAQ,EAAE,0DAA0D,CAAC,CAAC;YAClF,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,MAAM,aAAa,EAAE,CAAC;YACtB,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;YAC9C,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,IAAI,cAAc,EAAE,CAAC;gBACnB,WAAW,CAAC,QAAQ,EAAE,wCAAwC,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,cAAc,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,WAAW,CAAC,QAAQ,EAAE,oCAAoC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,MAAM,aAAa,EAAE,CAAC;YACtB,WAAW,CAAC,QAAQ,EAAE,6DAA6D,CAAC,CAAC;YACrF,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW,CACT,OAAO,EACP,kGAAkG,CACnG,CAAC;gBACF,OAAO;YACT,CAAC;YACD,WAAW,CAAC,MAAM,EAAE,cAAc,WAAW,EAAE,CAAC,CAAC;YACjD,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,WAAW,CAAC,QAAQ,EAAE,+CAA+C,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,eAAe,CAAC,EAAE,CAAC,CAAC;YACpB,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrB,WAAW,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YAC3C,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,aAAa,EAAE,CAAC;YACtB,YAAY,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,eAAe,CAAC,EAAE,CAAC,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACzC,MAAM,aAAa,EAAE,CAAC;YACtB,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,eAAe,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,eAAe,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YACzE,YAAY,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,YAAY,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAgB,CAAC,CAAC;QACzF,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAClC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1B,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAErB,IAAI,CAAC;YACH,kEAAkE;YAClE,iEAAiE;YACjE,mDAAmD;YACnD,MAAM,EAAC,aAAa,EAAE,cAAc,EAAE,YAAY,EAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;YACnF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE7F,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;gBAC3C,IAAI;gBACJ,SAAS,EAAE,eAAe;gBAC1B,QAAQ,EAAE,gBAAgB;gBAC1B,aAAa;gBACb,aAAa;gBACb,cAAc,EAAE,WAAW;gBAC3B,KAAK,EAAE,WAAW;aACnB,CAAC,EAAE,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACrC,oBAAoB,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;oBAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC3B,oBAAoB,GAAG,IAAI,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;gBACxD,IAAI,KAAK,EAAE,CAAC;oBACV,SAAS,IAAI,KAAK,CAAC;oBACnB,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;gBAC3D,MAAM,gBAAgB,GACpB,CAAC,oBAAoB,IAAI,6BAA6B,CAAC,gBAAgB,CAAC;oBACtE,CAAC,CAAC,iEAAiE,gBAAgB,EAAE;oBACrF,CAAC,CAAC,gBAAgB,CAAC;gBACvB,WAAW,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;gBAC3C,IAAI,YAAY,EAAE,CAAC;oBACjB,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,CAAC;gBACD,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAC,CAAC,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,OAAO,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EACD;QACE,WAAW;QACX,OAAO;QACP,YAAY;QACZ,IAAI;QACJ,WAAW;QACX,cAAc;QACd,WAAW;QACX,WAAW;QACX,SAAS;QACT,cAAc;QACd,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,YAAY;QACZ,cAAc;QACd,aAAa;KACd,CACF,CAAC;IAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,uBAAc,EACnC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,22BAEd,EACP,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,uDAA8C,GAC/D,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,aAAa,GAAQ,GACxC,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,gKAGd,GACH,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,2BAAkB,GACnC,EACN,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,MAAC,IAAI,IAAC,KAAK,EAAE,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aACtD,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAC9B,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aACtD,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,mBAC9B,IACH,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,sDAAwC,GACzD,IACF,CACP,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,WAAW,GAAQ,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,eAAe,GAAQ,EAC9C,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,aACnB,KAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,GAAG,wCACpB,IACH,CACP,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,WAAW,GAAQ,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,eAAe,GAAQ,EAC9C,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,SAAS,GAAQ,IAChC,CACP,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,WAAW,GAAQ,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,eAAe,GAAQ,EAC9C,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,oDACiB,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,SACnF,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,gEAAuD,EAC5E,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,wBAAe,EACpC,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,KAAK,OAAO,EAC7B,QAAQ,EAAE,GAAG,EAAE;gCACb,aAAa,CAAC,UAAU,CAAC,CAAC;4BAC5B,CAAC,GACD,IACE,EACN,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,2BAAkB,EACvC,KAAC,SAAS,IACR,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,UAAU,KAAK,UAAU,EAChC,QAAQ,EAAE,GAAG,EAAE;gCACb,KAAK,MAAM,EAAE,CAAC;4BAChB,CAAC,GACD,IACE,EACL,QAAQ,CAAC,CAAC,CAAC,CACV,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,aACnB,KAAC,OAAO,IAAC,IAAI,EAAC,WAAW,GAAG,4BACvB,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,gEAAuD,CAC7E,EACA,UAAU,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,UAAU,GAAQ,CAAC,CAAC,CAAC,IAAI,IACtD,CACP,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC/C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,WAAW,GAAQ,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,eAAe,GAAQ,EAC9C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,OAAO,GAAQ,EACrC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC1B,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,cAAc,EAAC,eAAe,aACrD,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,+BAAsB,EAC3C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,8CAAgC,IACjD,EACN,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,OAAO,GAAQ,EACtC,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,KAAC,GAAG,IAAC,aAAa,EAAC,KAAK,YACtB,MAAC,IAAI,IAAC,KAAK,EAAE,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAC1D,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,yBAClC,GACH,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,KAAK,YACpC,MAAC,IAAI,IAAC,KAAK,EAAE,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAC1D,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,iCAClC,GACH,IACF,EACN,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,OAAO,GAAQ,EACtC,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,6CAA8B,oBAAoB,IAAQ,IAC3E,CACP,CAAC,CAAC,CAAC,CACF,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,cAAc,EAAC,eAAe,aACrD,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,6BAAoB,EACzC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,qFAAmD,IACpE,EACN,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,KAAK,aACpC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,wBAAe,EACpC,KAAC,SAAS,IAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAC,iBAAiB,GAAG,IACvF,EACN,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,OAAO,GAAQ,EACrC,cAAc,CAAC,CAAC,CAAC,CAChB,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,aACnB,KAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,GAAG,gCACpB,CACR,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACjC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,mCAA0B,CAChD,CAAC,CAAC,CAAC,CACF,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gCAC9B,MAAM,GAAG,GAAG,SAAS,GAAG,QAAQ,CAAC;gCACjC,MAAM,MAAM,GAAG,GAAG,KAAK,YAAY,CAAC;gCACpC,OAAO,CACL,MAAC,GAAG,IAAc,aAAa,EAAC,KAAK,EAAC,cAAc,EAAC,eAAe,aAClE,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aACxC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACpB,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAClD,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,aAClB,MAAM,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,mBAAU,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IACvF,KAPC,GAAG,CAAC,EAAE,CAQV,CACP,CAAC;4BACJ,CAAC,CAAC,GACE,CACP,EACD,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,OAAO,GAAQ,EACtC,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,cAAc,EAAC,eAAe,aACrD,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,sBACb,WAAW,GAAG,CAAC,SAAK,gBAAgB,IACrC,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,2BAAY,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAQ,IAClE,IACF,CACP,IACG,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,WAAW,GAAQ,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,eAAe,GAAQ,EAE9C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,OAAO,GAAQ,EACtC,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,aAC7B,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,sBAAa,EAClC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,WAAW,GAAQ,IACtC,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,uBAAc,EACnC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,aAAa,GAAQ,IACxC,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,0BAAiB,EACtC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,mBAAmB,CAAC,WAAW,CAAC,GAAQ,IAC3D,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,yBAAgB,EACrC,MAAC,IAAI,IAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aACpF,gBAAgB,IAAI,IAAI,EACxB,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,CACzB,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,oBAAK,cAAc,SAAS,CAClD,CAAC,CAAC,CAAC,IAAI,IACH,IACH,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,uBAAc,EACnC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,WAAW,GAAQ,IACtC,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,uBAAc,EACnC,KAAC,IAAI,IAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAC9C,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAC3D,IACH,IACF,EACN,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,OAAO,GAAQ,EACtC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,wGAA+F,EACpH,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,OAAO,GAAQ,EACtC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACrC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;wBAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACzC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;wBACzD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;wBACnE,IAAI,SAAS,EAAE,CAAC;4BACd,OAAO,KAAC,GAAG,IAAyB,SAAS,EAAE,CAAC,YAAE,KAAC,IAAI,oBAAS,IAA/C,GAAG,KAAK,SAAS,CAAoC,CAAC;wBACzE,CAAC;wBACD,OAAO,CACL,MAAC,GAAG,IAAkC,aAAa,EAAC,KAAK,aACvD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,YAC5C,WAAW,GACP,EACN,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAC9B,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,KAAK,EAAE,CAAC,GACvE,CACP,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,YACvE,OAAO,CAAC,IAAI,GACR,CACR,KAZO,GAAG,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAa9B,CACP,CAAC;oBACJ,CAAC,CAAC,EACD,aAAa,CAAC,CAAC,CAAC,CACf,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAQ,EACvF,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YAAE,qBAAqB,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,GAAO,IAC5F,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,OAAO,GAAQ,EACrC,QAAQ,CAAC,CAAC,CAAC,CACV,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,SAAS,EAAE,CAAC,aACnC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAQ,EACjE,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,aACnB,KAAC,OAAO,IAAC,IAAI,EAAC,OAAO,GAAG,EACxB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,6BAAoB,IACpC,IACH,CACP,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,KAAK,aACpC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,wBAAU,EAC/B,KAAC,SAAS,IACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,SAAS,CAAC,EAAE,CAAC,CAAC;4BACd,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;wBACzB,CAAC,EACD,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,cAAc,GACjG,IACE,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { BackendClient } from "../lib/backendClient.js";
2
+ import { clearSession, loadSession } from "../lib/sessionStore.js";
3
+ import { spawnSync } from "node:child_process";
4
+ import fs from "node:fs";
5
+ import path from "node:path";
6
+ const readFlag = (args, flag) => {
7
+ const idx = args.indexOf(flag);
8
+ if (idx < 0) {
9
+ return undefined;
10
+ }
11
+ return args[idx + 1];
12
+ };
13
+ export const runCliCommand = async (args) => {
14
+ const [command] = args;
15
+ const backend = new BackendClient();
16
+ try {
17
+ if (command === "logout") {
18
+ clearSession();
19
+ console.log("Logged out.");
20
+ return 0;
21
+ }
22
+ if (command === "whoami") {
23
+ const session = loadSession();
24
+ if (!session) {
25
+ console.error("Not signed in. Run `astra-code` to login.");
26
+ return 1;
27
+ }
28
+ const profile = await backend.get("/api/user/profile", {
29
+ user_id: session.user_id,
30
+ org_id: session.org_id
31
+ });
32
+ console.log(JSON.stringify(profile, null, 2));
33
+ return 0;
34
+ }
35
+ if (command === "sessions") {
36
+ const session = loadSession();
37
+ if (!session) {
38
+ console.error("Not signed in. Run `astra-code` to login.");
39
+ return 1;
40
+ }
41
+ const data = await backend.get("/api/sessions", {
42
+ user_id: session.user_id
43
+ });
44
+ console.log(JSON.stringify(data, null, 2));
45
+ return 0;
46
+ }
47
+ if (command === "skills") {
48
+ const session = loadSession();
49
+ if (!session) {
50
+ console.error("Not signed in. Run `astra-code` to login.");
51
+ return 1;
52
+ }
53
+ const suggest = readFlag(args, "--suggest");
54
+ const endpoint = suggest ? "/api/agent/suggest-skills" : "/api/agent/skills";
55
+ const payload = suggest ? { prompt: suggest } : undefined;
56
+ const data = payload ? await backend.post(endpoint, payload) : await backend.get(endpoint);
57
+ console.log(JSON.stringify(data, null, 2));
58
+ return 0;
59
+ }
60
+ if (command === "session-messages") {
61
+ const sessionId = readFlag(args, "--session");
62
+ if (!sessionId) {
63
+ console.error("Missing required flag: --session <session_id>");
64
+ return 1;
65
+ }
66
+ const data = await backend.get(`/api/sessions/${sessionId}/messages`);
67
+ console.log(JSON.stringify(data, null, 2));
68
+ return 0;
69
+ }
70
+ if (command === "help" || !command) {
71
+ console.log([
72
+ "astra-code [command]",
73
+ "",
74
+ "Commands:",
75
+ " help",
76
+ " legacy-python [args...]",
77
+ " logout",
78
+ " whoami",
79
+ " sessions",
80
+ " skills [--suggest \"prompt\"]",
81
+ " session-messages --session <id>"
82
+ ].join("\n"));
83
+ return 0;
84
+ }
85
+ if (command === "legacy-python") {
86
+ const legacyRoot = path.resolve(process.cwd(), "../astra-code");
87
+ if (!fs.existsSync(legacyRoot)) {
88
+ console.error(`Legacy runtime not found at ${legacyRoot}`);
89
+ return 1;
90
+ }
91
+ const passThrough = args.slice(1);
92
+ const result = spawnSync("python", ["-m", "astra_code", ...passThrough], {
93
+ cwd: legacyRoot,
94
+ stdio: "inherit"
95
+ });
96
+ return result.status ?? 1;
97
+ }
98
+ console.error(`Unknown command: ${command}`);
99
+ console.error("Run `astra-code help` for available commands.");
100
+ return 1;
101
+ }
102
+ catch (error) {
103
+ console.error(error instanceof Error ? error.message : String(error));
104
+ return 1;
105
+ }
106
+ };
107
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/commands/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ import React from "react";
3
+ import { render } from "ink";
4
+ import { AstraApp } from "./app/App.js";
5
+ import { runCliCommand } from "./commands/cli.js";
6
+ const main = async () => {
7
+ const args = process.argv.slice(2);
8
+ if (args.length === 0) {
9
+ render(React.createElement(AstraApp));
10
+ return;
11
+ }
12
+ const code = await runCliCommand(args);
13
+ process.exitCode = code;
14
+ };
15
+ void main();
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AACtC,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1B,CAAC,CAAC;AAEF,KAAK,IAAI,EAAE,CAAC"}
@@ -0,0 +1,198 @@
1
+ import { getBackendUrl, getDefaultClientId, getDefaultModel, getProviderForModel, getRuntimeMode } from "./config.js";
2
+ export class BackendClient {
3
+ baseUrl;
4
+ constructor(baseUrl = getBackendUrl()) {
5
+ this.baseUrl = baseUrl;
6
+ }
7
+ async get(path, params) {
8
+ const url = new URL(`${this.baseUrl}${path}`);
9
+ if (params) {
10
+ for (const [key, value] of Object.entries(params)) {
11
+ url.searchParams.set(key, value);
12
+ }
13
+ }
14
+ return this.request(url.toString(), "GET");
15
+ }
16
+ async post(path, payload) {
17
+ return this.request(`${this.baseUrl}${path}`, "POST", payload ?? {});
18
+ }
19
+ async patch(path, payload) {
20
+ return this.request(`${this.baseUrl}${path}`, "PATCH", payload ?? {});
21
+ }
22
+ async delete(path) {
23
+ return this.request(`${this.baseUrl}${path}`, "DELETE");
24
+ }
25
+ async healthOk() {
26
+ try {
27
+ const data = await this.get("/healthz");
28
+ return data.status === "ok";
29
+ }
30
+ catch {
31
+ return false;
32
+ }
33
+ }
34
+ async validateSession(session) {
35
+ try {
36
+ await this.get("/api/user/profile", {
37
+ user_id: session.user_id,
38
+ org_id: session.org_id
39
+ });
40
+ return true;
41
+ }
42
+ catch {
43
+ return false;
44
+ }
45
+ }
46
+ async ensureSessionId(user, existingSessionId, model = getDefaultModel()) {
47
+ if (existingSessionId) {
48
+ return existingSessionId;
49
+ }
50
+ const data = await this.post("/api/sessions", {
51
+ user_id: user.user_id,
52
+ org_id: user.org_id,
53
+ title: "New Chat",
54
+ model
55
+ });
56
+ const directSessionId = data.session_id;
57
+ if (typeof directSessionId === "string" && directSessionId) {
58
+ return directSessionId;
59
+ }
60
+ const directId = data.id;
61
+ if (typeof directId === "string" && directId) {
62
+ return directId;
63
+ }
64
+ const nested = data.session;
65
+ const nestedId = nested?.id;
66
+ if (typeof nestedId === "string" && nestedId) {
67
+ return nestedId;
68
+ }
69
+ throw new Error("Backend did not return a session id (checked session_id, id, and session.id)");
70
+ }
71
+ async listSessions(user, limit = 100) {
72
+ const data = (await this.get("/api/sessions", {
73
+ user_id: user.user_id,
74
+ org_id: user.org_id,
75
+ limit: String(limit),
76
+ offset: "0"
77
+ }));
78
+ if (!Array.isArray(data)) {
79
+ return [];
80
+ }
81
+ const out = [];
82
+ for (const item of data) {
83
+ const row = item;
84
+ const id = typeof row.id === "string" ? row.id : "";
85
+ if (!id) {
86
+ continue;
87
+ }
88
+ out.push({
89
+ id,
90
+ title: typeof row.title === "string" && row.title ? row.title : "Untitled",
91
+ updated_at: typeof row.updated_at === "string" ? row.updated_at : "",
92
+ total_messages: typeof row.total_messages === "number" ? row.total_messages : 0,
93
+ model: typeof row.model === "string" ? row.model : ""
94
+ });
95
+ }
96
+ return out;
97
+ }
98
+ async deleteSession(sessionId) {
99
+ await this.delete(`/api/sessions/${sessionId}`);
100
+ }
101
+ async getSessionMessages(sessionId, limit = 200) {
102
+ const data = (await this.get(`/api/sessions/${sessionId}/messages`, { limit: String(limit) }));
103
+ if (!Array.isArray(data)) {
104
+ return [];
105
+ }
106
+ const mapped = [];
107
+ for (const item of data) {
108
+ const row = item;
109
+ const role = row.role === "assistant" ? "assistant" : row.role === "user" ? "user" : null;
110
+ const content = typeof row.content === "string" ? row.content : "";
111
+ if (role && content) {
112
+ mapped.push({ role, content });
113
+ }
114
+ }
115
+ return mapped;
116
+ }
117
+ streamChat(payload) {
118
+ const model = payload.model ?? getDefaultModel();
119
+ const body = {
120
+ client_id: getDefaultClientId(),
121
+ runtime_mode: getRuntimeMode(),
122
+ session_id: payload.sessionId,
123
+ messages: payload.messages,
124
+ provider: getProviderForModel(model),
125
+ model,
126
+ context: {
127
+ workspaceRoot: payload.workspaceRoot,
128
+ workspaceTree: payload.workspaceTree ?? [],
129
+ workspaceFiles: payload.workspaceFiles ?? [],
130
+ execution_scope: {
131
+ root: payload.workspaceRoot,
132
+ strict: true
133
+ }
134
+ },
135
+ user_id: payload.user.user_id,
136
+ org_id: payload.user.org_id
137
+ };
138
+ return this.streamSse("/api/agent/chat/stream", body);
139
+ }
140
+ async request(url, method, payload) {
141
+ const response = await fetch(url, {
142
+ method,
143
+ headers: { "content-type": "application/json" },
144
+ body: payload ? JSON.stringify(payload) : null
145
+ });
146
+ if (!response.ok) {
147
+ const detail = (await response.text()).trim();
148
+ throw new Error(`Backend error ${response.status}: ${detail || response.statusText}`);
149
+ }
150
+ const text = await response.text();
151
+ if (!text) {
152
+ return {};
153
+ }
154
+ return JSON.parse(text);
155
+ }
156
+ async *streamSse(path, payload) {
157
+ const response = await fetch(`${this.baseUrl}${path}`, {
158
+ method: "POST",
159
+ headers: { "content-type": "application/json" },
160
+ body: JSON.stringify(payload)
161
+ });
162
+ if (!response.ok) {
163
+ const detail = (await response.text()).trim();
164
+ throw new Error(`Backend error ${response.status}: ${detail || response.statusText}`);
165
+ }
166
+ if (!response.body) {
167
+ throw new Error("Missing stream body from backend");
168
+ }
169
+ const decoder = new TextDecoder();
170
+ const reader = response.body.getReader();
171
+ let buffer = "";
172
+ while (true) {
173
+ const { value, done } = await reader.read();
174
+ if (done) {
175
+ break;
176
+ }
177
+ buffer += decoder.decode(value, { stream: true });
178
+ const lines = buffer.split(/\r?\n/);
179
+ buffer = lines.pop() ?? "";
180
+ for (const line of lines) {
181
+ if (!line.startsWith("data: ")) {
182
+ continue;
183
+ }
184
+ const data = line.slice(6).trim();
185
+ if (data === "[DONE]") {
186
+ return;
187
+ }
188
+ try {
189
+ yield JSON.parse(data);
190
+ }
191
+ catch {
192
+ // Ignore malformed chunks and keep stream alive.
193
+ }
194
+ }
195
+ }
196
+ }
197
+ }
198
+ //# sourceMappingURL=backendClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backendClient.js","sourceRoot":"","sources":["../../src/lib/backendClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACf,MAAM,aAAa,CAAC;AAcrB,MAAM,OAAO,aAAa;IACP,OAAO,CAAS;IAEjC,YAAmB,OAAO,GAAG,aAAa,EAAE;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,MAA+B;QAC5D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAoB;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAoB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,OAAoB;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE;gBAClC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,eAAe,CAC1B,IAAiB,EACjB,iBAAgC,EAChC,KAAK,GAAG,eAAe,EAAE;QAEzB,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,UAAU;YACjB,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,EAAE,CAAC;YAC3D,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAA8C,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC;QAC5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,IAAiB,EAAE,KAAK,GAAG,GAAG;QACtD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE;YAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACpB,MAAM,EAAE,GAAG;SACZ,CAAC,CAAY,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAqB,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE;gBACF,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;gBAC1E,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;gBACpE,cAAc,EAAE,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC/E,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;aACtD,CAAC,CAAC;QACP,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,KAAK,GAAG,GAAG;QAC5D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,SAAS,WAAW,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,CAAC,CAAY,CAAC;QACxG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1F,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,OAQjB;QACC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,kBAAkB,EAAE;YAC/B,YAAY,EAAE,cAAc,EAAE;YAC9B,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC;YACpC,KAAK;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;gBAC1C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;gBAC5C,eAAe,EAAE;oBACf,IAAI,EAAE,OAAO,CAAC,aAAa;oBAC3B,MAAM,EAAE,IAAI;iBACb;aACF;YACD,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;SAC5B,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,MAAc,EAAE,OAAoB;QACrE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM;YACN,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;YAC7C,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,CAAC,SAAS,CAAC,IAAY,EAAE,OAAmB;QACxD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBACP,iDAAiD;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import path from "node:path";
2
+ import os from "node:os";
3
+ import dotenv from "dotenv";
4
+ dotenv.config({ path: path.resolve(process.cwd(), ".env"), quiet: true });
5
+ export const APP_NAME = "astra-code";
6
+ export const SESSION_DIR = path.join(os.homedir(), ".astra-code");
7
+ export const SESSION_FILE = path.join(SESSION_DIR, "session.json");
8
+ export const getBackendUrl = () => (process.env.ASTRA_BACKEND_URL ?? "https://api.astraaifor.me").replace(/\/+$/, "");
9
+ export const getDefaultModel = () => process.env.ASTRA_MODEL ?? "gpt-5.1-codex";
10
+ export const getDefaultClientId = () => process.env.ASTRA_CLIENT_ID ?? "astra-code";
11
+ export const getRuntimeMode = () => process.env.ASTRA_RUNTIME_MODE ?? "astra-code";
12
+ export const getProviderForModel = (model) => {
13
+ const normalized = model.toLowerCase();
14
+ if (normalized.startsWith("gpt-") || normalized.includes("o1") || normalized.includes("o3")) {
15
+ return "openai";
16
+ }
17
+ if (normalized.startsWith("claude")) {
18
+ return "claude";
19
+ }
20
+ return process.env.ASTRA_PROVIDER ?? "claude";
21
+ };
22
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAW,EAAE,CACxC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,2BAA2B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,eAAe,CAAC;AAExF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC;AAE5F,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,YAAY,CAAC;AAE3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE;IAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5F,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAC;AAChD,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import fs from "node:fs";
2
+ import { SESSION_DIR, SESSION_FILE } from "./config.js";
3
+ export const loadSession = () => {
4
+ if (!fs.existsSync(SESSION_FILE)) {
5
+ return null;
6
+ }
7
+ try {
8
+ const raw = fs.readFileSync(SESSION_FILE, "utf8");
9
+ return JSON.parse(raw);
10
+ }
11
+ catch {
12
+ return null;
13
+ }
14
+ };
15
+ export const saveSession = (session) => {
16
+ fs.mkdirSync(SESSION_DIR, { recursive: true });
17
+ fs.writeFileSync(SESSION_FILE, `${JSON.stringify(session, null, 2)}\n`, "utf8");
18
+ };
19
+ export const clearSession = () => {
20
+ if (fs.existsSync(SESSION_FILE)) {
21
+ fs.unlinkSync(SESSION_FILE);
22
+ }
23
+ };
24
+ //# sourceMappingURL=sessionStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionStore.js","sourceRoot":"","sources":["../../src/lib/sessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAGtD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAuB,EAAE;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAoB,EAAQ,EAAE;IACxD,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7C,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAS,EAAE;IACrC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,60 @@
1
+ import path from "node:path";
2
+ import { spawn, spawnSync } from "node:child_process";
3
+ const resolveCommandCwd = (workspaceRoot, cwd) => path.resolve(workspaceRoot, cwd || ".");
4
+ const isWithinWorkspace = (workspaceRoot, candidate) => {
5
+ const rel = path.relative(path.resolve(workspaceRoot), path.resolve(candidate));
6
+ return rel === "" || (!rel.startsWith("..") && !path.isAbsolute(rel));
7
+ };
8
+ const escapesScopeByCommandText = (command) => {
9
+ // Strict guardrail for astra-code mode: reject obvious out-of-scope path references.
10
+ return /(^|\s)(\/[^\s]*|~\/[^\s]*|\.\.\/[^\s]*)/.test(command);
11
+ };
12
+ export const runTerminalCommand = (command, cwd, blocking, workspaceRoot) => {
13
+ if (!command.trim()) {
14
+ return { exit_code: 1, output: "No command provided", cancelled: false };
15
+ }
16
+ const effectiveCwd = resolveCommandCwd(workspaceRoot, cwd);
17
+ if (!isWithinWorkspace(workspaceRoot, effectiveCwd)) {
18
+ return {
19
+ exit_code: 1,
20
+ output: `Command rejected: cwd escapes approved scope (${workspaceRoot})`,
21
+ cancelled: false
22
+ };
23
+ }
24
+ if (escapesScopeByCommandText(command)) {
25
+ return {
26
+ exit_code: 1,
27
+ output: "Command rejected: out-of-scope path reference detected in command text",
28
+ cancelled: false
29
+ };
30
+ }
31
+ if (!blocking) {
32
+ const child = spawn("zsh", ["-lc", command], {
33
+ cwd: effectiveCwd,
34
+ detached: true,
35
+ stdio: "ignore"
36
+ });
37
+ child.unref();
38
+ return {
39
+ exit_code: 0,
40
+ output: `Started in background (pid ${child.pid ?? "unknown"})`,
41
+ cancelled: false
42
+ };
43
+ }
44
+ const result = spawnSync("zsh", ["-lc", command], {
45
+ cwd: effectiveCwd,
46
+ encoding: "utf8",
47
+ timeout: 120_000,
48
+ maxBuffer: 1024 * 1024 * 8
49
+ });
50
+ const stdout = result.stdout ?? "";
51
+ const stderr = result.stderr ?? "";
52
+ const output = `${stdout}${stderr}`.trim();
53
+ const timedOut = Boolean(result.error && "code" in result.error && result.error.code === "ETIMEDOUT");
54
+ return {
55
+ exit_code: result.status ?? (timedOut ? 124 : 1),
56
+ output: output || (timedOut ? "Command timed out after 120s" : "Command completed with no output"),
57
+ cancelled: timedOut
58
+ };
59
+ };
60
+ //# sourceMappingURL=terminalBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminalBridge.js","sourceRoot":"","sources":["../../src/lib/terminalBridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { SESSION_DIR } from "./config.js";
4
+ const TRUST_FILE = path.join(SESSION_DIR, "trusted-workspaces.json");
5
+ const readTrustMap = () => {
6
+ if (!fs.existsSync(TRUST_FILE)) {
7
+ return {};
8
+ }
9
+ try {
10
+ const raw = fs.readFileSync(TRUST_FILE, "utf8");
11
+ const parsed = JSON.parse(raw);
12
+ return parsed && typeof parsed === "object" ? parsed : {};
13
+ }
14
+ catch {
15
+ return {};
16
+ }
17
+ };
18
+ const writeTrustMap = (trustMap) => {
19
+ fs.mkdirSync(SESSION_DIR, { recursive: true });
20
+ fs.writeFileSync(TRUST_FILE, `${JSON.stringify(trustMap, null, 2)}\n`, "utf8");
21
+ };
22
+ export const isWorkspaceTrusted = (workspaceRoot) => {
23
+ const trustMap = readTrustMap();
24
+ return Boolean(trustMap[workspaceRoot]);
25
+ };
26
+ export const trustWorkspace = (workspaceRoot) => {
27
+ const trustMap = readTrustMap();
28
+ trustMap[workspaceRoot] = { trusted_at: new Date().toISOString() };
29
+ writeTrustMap(trustMap);
30
+ };
31
+ //# sourceMappingURL=trustStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustStore.js","sourceRoot":"","sources":["../../src/lib/trustStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAExC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;AAQrE,MAAM,YAAY,GAAG,GAAa,EAAE;IAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;QAC3C,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,QAAkB,EAAQ,EAAE;IACjD,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,aAAqB,EAAW,EAAE;IACnE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,aAAqB,EAAQ,EAAE;IAC5D,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAC,CAAC;IACjE,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC,CAAC"}