depflow 3.0.0-dev.11 → 3.0.0-dev.13

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":"Actions.js","sourceRoot":"","sources":["../../src/cli/Actions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAK5C,MAAM,KAAW,OAAO,CAwyBvB;AAxyBD,WAAiB,OAAO;IAuFpB;;;;;;;;;;;;;OAaG;IACH,SAAgB,MAAM,CAAC,OAAO,GAAY,EAAE;QACxC,OAAO,IAAI,YAAY,CAAC;YACpB,MAAM,EAAE,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACnD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;SACrC,CAAC,CAAC;IACP,CAAC;IARe,QAAA,MAAM,SAQrB,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,GAAG,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAE3E,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAErC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC1E,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAEvE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvF,IAAI,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,IAAI,sEAAsE,CAAC,CAAC;gBACvI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAEpB,GAAG,CAAC,IAAI,CAAC,yBAAyB,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;gBAChD,OAAO;YACX,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;YAExB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAEjC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE7C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAErH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,IAAI,sEAAsE,CAAC,CAAC;YAClI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QAChD,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IA7CqB,QAAA,GAAG,MA6CxB,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,MAAM,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAChF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAE,UAAU,CAAE,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAE1E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAC9G,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACtF,IAAI,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,cAAc,CAAC,CAAC;YAE1G,KAAK,MAAM,GAAG,IAAI,UAAU;gBAAE,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YACxH,KAAK,MAAM,GAAG,IAAI,UAAU;gBAAE,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAExH,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACtH,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACjG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,GAAG,CAAC,IAAI,CAAC,uBAAuB,UAAU,IAAI,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAxBqB,QAAA,MAAM,SAwB3B,CAAA;IAED;;;;;;;;;;OAUG;IACI,KAAK,UAAU,OAAO,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QACjF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAE9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YACjD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;YAEpD,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE5C,IAAI,eAAe,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAElK,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1G,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1G,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAEzH,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACD,IAAI,KAAK;wBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC;oBACxE,GAAG,CAAC,IAAI,EAAE,CAAC;oBAEX,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBACnG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;oBAE3B,GAAG,CAAC,IAAI,EAAE,CAAC;oBACX,GAAG,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC7C,CAAC;wBAAS,CAAC;oBAAC,IAAI,KAAK;wBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;gBAAC,CAAC;YACvC,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACD,IAAI,KAAK;wBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,oCAAoC,GAAG,CAAC,IAAI,mBAAmB,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC;oBAC7F,GAAG,CAAC,IAAI,EAAE,CAAC;oBAEX,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBACnG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;oBAE3B,GAAG,CAAC,IAAI,EAAE,CAAC;oBACX,GAAG,CAAC,IAAI,CAAC,kCAAkC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC5D,CAAC;wBAAS,CAAC;oBAAC,IAAI,KAAK;wBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;gBAAC,CAAC;YACvC,CAAC;YAED,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IApDqB,QAAA,OAAO,UAoD5B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,GAAG,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAE5D,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,wBAAwB,UAAU,QAAQ,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,+BAA+B,CAAC,CAAC;YAEnF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAE3D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;gBACxB,GAAG,EAAE,OAAO,CAAC,WAAW;gBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ;gBACR,MAAM,EAAE,GAAG;gBACX,MAAM;aACT,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IA3BqB,QAAA,GAAG,MA2BxB,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,IAAI,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,KAAK;YAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;oBAChG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC;gBACxC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC;YACvE,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;oBAChG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC;gBACxC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAtBqB,QAAA,IAAI,OAsBzB,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QACtF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,KAAK;YAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,IAAI,GAAsB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAEtD,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,IAAI,KAAK;gBAAE,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAE3C,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAErF,IAAI,KAAK;gBAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;gBACjC,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAnBqB,QAAA,YAAY,eAmBjC,CAAA;IAED;;;;;;;;;;;OAWG;IACI,KAAK,UAAU,IAAI,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE,EAAE,MAAqB;QACrG,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAE5C,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YACxB,MAAM,IAAI,GAAsB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAErF,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE5C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,IAAI,eAAe,CAAC,CAAC;YACrF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,IAAI,gBAAgB,CAAC,CAAC;YAExF,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;;gBAAM,GAAG,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;YACnG,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvE,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC;;gBAAM,GAAG,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;YAEvG,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAnCqB,QAAA,IAAI,OAmCzB,CAAA;IAED;;;;;;;OAOG;IACI,KAAK,UAAU,OAAO,CAAC,OAAgB,EAAE,OAAe,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAClG,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAE9C,MAAM,EAAE,GAAG,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACxD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,QAAQ,KAAK,OAAO,CAAC;YACzC,MAAM,WAAW,GAAG,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,CAAC;YAChE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;YACpG,IAAI,WAAW,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;YAE/F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE3B,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5H,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAvBqB,QAAA,OAAO,UAuB5B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAClF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChG,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;YAE1E,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,KAAK,EAAE,CAAC;oBACT,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;oBACzJ,IAAI,KAAK,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,uBAAuB,KAAK,gCAAgC,CAAC,CAAC;oBAEhJ,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;wBACvE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;4BACpB,KAAK;4BACL,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACnE,CAAC;wBACF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAEnC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,+BAA+B,KAAK,cAAc,KAAK,MAAM,CAAC,CAAC;oBACxE,OAAO;gBACX,CAAC;gBACD,KAAK,QAAQ,EAAE,CAAC;oBACZ,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACjF,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,kBAAkB,KAAK,GAAG,CAAC,CAAC;oBAE7F,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;oBACtB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,iCAAiC,KAAK,gBAAgB,KAAK,MAAM,CAAC,CAAC;oBAC5E,OAAO;gBACX,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACV,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBACzF,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO;wBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACjG,OAAO;gBACX,CAAC;gBACD,KAAK,OAAO,EAAE,CAAC;oBACX,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;oBAChE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,yCAAyC,KAAK,MAAM,CAAC,CAAC;oBAC/D,OAAO;gBACX,CAAC;gBACD,SAAS,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACzF,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAvDqB,QAAA,QAAQ,WAuD7B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,OAAO,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QACjF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAElG,IAAI,KAAqB,CAAC;YAC1B,IAAI,KAAa,CAAC;YAClB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gBAClD,KAAK,GAAG,eAAe,OAAO,CAAC,GAAG,GAAG,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,MAAM,wDAAwD,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChI,KAAK,GAAG,MAAM,CAAC;gBACf,KAAK,GAAG,WAAW,OAAO,CAAC,MAAM,GAAG,CAAC;YACzC,CAAC;;gBAAM,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAE1F,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,KAAK,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;oBAChC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAExG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC9B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,kBAAkB,KAAK,MAAM,CAAC,CAAC;oBAC3D,OAAO;gBACX,CAAC;gBACD,KAAK,QAAQ,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBACnB,IAAI,GAAG,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;oBAE7G,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,sBAAsB,GAAG,eAAe,KAAK,MAAM,CAAC,CAAC;oBAC9D,OAAO;gBACX,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACV,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;oBAC9B,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;oBAE1I,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACrD,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACjD,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACtC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC3B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,oBAAoB,OAAO,aAAa,KAAK,aAAa,KAAK,MAAM,CAAC,CAAC;oBAChF,OAAO;gBACX,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,KAAK,GAAG,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBAClF,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnF,OAAO;gBACX,CAAC;gBACD,KAAK,OAAO,EAAE,CAAC;oBACX,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC9B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,oCAAoC,KAAK,MAAM,CAAC,CAAC;oBAC1D,OAAO;gBACX,CAAC;gBACD,SAAS,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAClF,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IArEqB,QAAA,OAAO,UAqE5B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,MAAM,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAChF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAEpC,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,QAAQ,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBAC9D,IAAI,IAAI,IAAI,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;oBAEzE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3C,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,CAAC;oBAC7C,OAAO;gBACX,CAAC;gBACD,KAAK,QAAQ,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBAC9D,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC,CAAC;oBAEvE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;oBACrB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,CAAC;oBAC7C,OAAO;gBACX,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBAClE,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC;oBACtF,OAAO;gBACX,CAAC;gBACD,SAAS,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACrE,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAzCqB,QAAA,MAAM,SAyC3B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,MAAM,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAChF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAErD,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,KAAK,EAAE,CAAC;oBACT,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,CAAE,GAAG,QAAQ,CAAE,CAAC;oBAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;wBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC7G,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;oBAClE,CAAC;oBACD,OAAO;gBACX,CAAC;gBACD,KAAK,KAAK,EAAE,CAAC;oBACT,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;oBAC9G,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE3G,IAAI,GAAG,KAAK,QAAQ;wBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;yBAC5C,IAAI,GAAG,KAAK,UAAU;wBAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;;wBAC/E,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAE7D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC;oBACnD,OAAO;gBACX,CAAC;gBACD,KAAK,OAAO,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG;wBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAC1E,IAAI,GAAG,KAAK,QAAQ;wBAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;oBACpH,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW;wBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAErI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBACxB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC;oBACnC,OAAO;gBACX,CAAC;gBACD,SAAS,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IA5CqB,QAAA,MAAM,SA4C3B,CAAA;IAED,kEAAkE;IAClE,MAAM,QAAQ,GAAG,CAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAW,CAAC;IAEhE;;;;OAIG;IACH,SAAS,SAAS,CAAC,IAAY;QAC3B,OAAQ,QAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,SAAS,YAAY,CAAC,MAAc,EAAE,IAAY;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClF,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACrF,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,cAAc,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,SAAS,cAAc,CAAC,MAAc;QAClC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,MAAM,KAAK,GAAG,CAAE,MAAM,CAAC,KAAK,CAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,SAAS,CAAC,IAAY,EAAE,OAAiB,EAAE,OAAgB;QAChE,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,KAAK,EAAE,CAAC;gBACT,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wHAAwH,CAAC,CAAC;gBACpK,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAExD,IAAI,SAA6B,CAAC;gBAClC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAChC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrG,CAAC;gBAED,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC3B,GAAG;oBACH,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClF,CAAC,CAAC;YACP,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;gBAE9J,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;oBAC/B,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;iBACtG,CAAC,CAAC;YACP,CAAC;YACD,KAAK,WAAW,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,8HAA8H,CAAC,CAAC;gBAE5N,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC;oBACjC,SAAS,EAAE;wBACP,IAAI;wBACJ,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACnE;iBACJ,CAAC,CAAC;YACP,CAAC;YACD,SAAS,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,8CAA8C,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,SAAS,CAAC,GAAW,EAAE,MAAc,EAAE,QAAiB;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,4CAA4C,KAAK,GAAG,CAAC,CAAC;QAC5J,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,SAAS,YAAY,CAAC,KAAmB;QACrC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC;YAC3E,OAAO,QAAQ,GAAG,KAAK,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAC9E,CAAC;QACD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YACvG,OAAO,YAAY,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,cAAc,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;AACL,CAAC,EAxyBgB,OAAO,KAAP,OAAO,QAwyBvB;AACD,eAAe,OAAO,CAAC"}
package/dist/cli/CLI.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * @author NetFeez <netfeez.dev@gmail.com>.
3
3
  * @description The console interface the CLI is built on: it reads a command, runs it and answers it,
4
- * and it draws the help the global flags and the arguments of every command are told in.
4
+ * and it draws the help the global flags, and the arguments and flags of every command are told in.
5
5
  * @license Apache-2.0
6
6
  */
7
7
  import type { Engine, ConsoleTransport } from '@netfeez/vterm';
8
- import type Flags from './Flags.js';
8
+ import Flags from './Flags.js';
9
9
  export declare class CLI {
10
10
  /** What reads the input of the console interface. */
11
11
  protected dataHandleInstance: CLI.dataHandler;
@@ -49,6 +49,51 @@ export declare class CLI {
49
49
  * @returns The command, or undefined when the map carries no command of that name.
50
50
  */
51
51
  getCommand(command: string): CLI.Command | undefined;
52
+ /**
53
+ * The declaration of the flags a command line accepts: the global ones every command carries, plus the
54
+ * ones the named command owns.
55
+ * @param command - The name of the command, when the line named one.
56
+ * @returns The declaration the flags of that command line are parsed against.
57
+ *
58
+ * @remarks A name the map does not carry gets the global flags alone, which is what a caller that
59
+ * reads the declaration of a command before it exists needs; {@link CLI.parse} answers such a name
60
+ * before it ever gets here.
61
+ */
62
+ declarationOf(command?: string): Flags.Declaration;
63
+ /**
64
+ * Splits an invocation into the command it names, its positional arguments and the values of the flags
65
+ * that command accepts.
66
+ * @param tokens - The tokens of the invocation, the command name first.
67
+ * @returns The command with what it was invoked with, or `undefined` when the map carries no command
68
+ * of that name.
69
+ * @throws { Error } When a token is a flag the named command does not accept.
70
+ *
71
+ * @remarks The command is read before the rest is parsed because the flags are declared per command:
72
+ * the global ones every command carries plus the ones the named command owns, so the declaration the
73
+ * arguments and the flags are read against is only known once the command is. A name the map does not
74
+ * carry leaves nothing to parse and is not an invocation: {@link CLI.invoke} answers it, help included.
75
+ */
76
+ parse(tokens: readonly string[]): CLI.Invocation | undefined;
77
+ /**
78
+ * Reads an invocation and runs the command it names, the console interface owning the reading of the
79
+ * command, of its positional arguments and of the values of the flags it accepts.
80
+ * @param tokens - The tokens of the invocation, the command name first.
81
+ * @returns A promise resolving when the command is over.
82
+ * @throws { Error } When a token is a flag the named command does not accept.
83
+ *
84
+ * @remarks A name the map does not carry is answered here, help included, rather than by the command
85
+ * it names, because there is no command to hand the line to.
86
+ */
87
+ invoke(tokens: readonly string[]): Promise<void>;
88
+ /**
89
+ * Takes in the flags a parsed invocation carries, before the command that named them runs.
90
+ * @param flags - The values the invocation parsed.
91
+ *
92
+ * @remarks A subclass overrides this to react to the line before the command runs: `DepflowCLI` reads
93
+ * the configuration file the line asked for here, so the reading of the line and the state it sets
94
+ * stay apart.
95
+ */
96
+ protected adopt(flags: CLI.Values): void;
52
97
  /**
53
98
  * Puts a command in the map.
54
99
  * @param command - The name of the command.
@@ -69,7 +114,7 @@ export declare class CLI {
69
114
  protected addDefaultCommands(): void;
70
115
  /**
71
116
  * Writes the banner, the global flags and every command of the map with its usage, its description
72
- * and the arguments it accepts.
117
+ * and the arguments and flags it accepts.
73
118
  *
74
119
  * @remarks The help belongs to the terminal and not to a run, so it is written as it is composed
75
120
  * and it is not announced through the engine: no timestamp, level or name is put in front of it,
@@ -115,7 +160,17 @@ export declare class CLI {
115
160
  }
116
161
  export declare namespace CLI {
117
162
  type dataHandler = (data: Buffer) => void;
118
- type commandExec = (this: CLI, command: string, args: string[]) => Promise<void> | void;
163
+ /**
164
+ * The values of the flags of a parsed command line.
165
+ *
166
+ * @remarks Which command owns which flag is not known at this type: the map dispatches by a name read
167
+ * at runtime, so it can only promise the flags of some declaration, not the ones of a named one. A
168
+ * command that needs its own flags read back with their declared type reaches them through
169
+ * {@link CLI.declarationOf} and `Flags`, where the declaration is known.
170
+ */
171
+ type Values = Flags.Values<Flags.Declaration>;
172
+ /** What a command does when it is invoked, with its positional arguments and the flags it accepts. **/
173
+ type commandExec = (this: CLI, command: string, args: string[], flags: Values) => Promise<void> | void;
119
174
  /** A positional argument a command accepts. **/
120
175
  interface Argument {
121
176
  /** What the argument is for. **/
@@ -134,12 +189,23 @@ export declare namespace CLI {
134
189
  description?: string;
135
190
  usage?: string;
136
191
  args?: Arguments;
192
+ /** The flags the command owns, beside the global ones every command carries. **/
193
+ flags?: Flags.Declaration;
137
194
  }
138
195
  /** A command of the console interface, with what it does and what `help` tells about it. **/
139
196
  interface Command extends CommandInfo {
140
197
  name: string;
141
198
  exec: commandExec;
142
199
  }
200
+ /** A command line read apart: the command it named, with the arguments and the flags it was given. **/
201
+ interface Invocation {
202
+ /** The command the line named. **/
203
+ command: Command;
204
+ /** The positional arguments of the line, in order. **/
205
+ args: string[];
206
+ /** The values of the flags of the command the line named. **/
207
+ flags: Values;
208
+ }
143
209
  /** The commands of the interface, keyed by the name each one is invoked with. **/
144
210
  interface CommandMap {
145
211
  [command: string]: Command;
package/dist/cli/CLI.js CHANGED
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * @author NetFeez <netfeez.dev@gmail.com>.
3
3
  * @description The console interface the CLI is built on: it reads a command, runs it and answers it,
4
- * and it draws the help the global flags and the arguments of every command are told in.
4
+ * and it draws the help the global flags, and the arguments and flags of every command are told in.
5
5
  * @license Apache-2.0
6
6
  */
7
7
  import { Logger, ConsoleUI } from '@netfeez/vterm';
8
+ import Flags from './Flags.js';
8
9
  /** The visible column the description of a flag or an argument starts at, in `help`. **/
9
10
  const HELP_COLUMN = 26;
10
11
  export class CLI {
@@ -61,11 +62,7 @@ export class CLI {
61
62
  const [cmd, ...args] = data.toString('utf-8').trim().split(' ');
62
63
  this.out.log(`&C(80,0,80)command received: &C3${cmd}`, args);
63
64
  try {
64
- const command = this.commandMap[cmd];
65
- if (command)
66
- await command.exec.bind(this)(cmd, args);
67
- else
68
- this.out.error(`&C1Unknown command: &C3${cmd}`);
65
+ await this.invoke([cmd, ...args]);
69
66
  }
70
67
  catch (error) {
71
68
  this.out.error(`&C1Error executing command: &C3${cmd}`, error);
@@ -79,6 +76,69 @@ export class CLI {
79
76
  * @returns The command, or undefined when the map carries no command of that name.
80
77
  */
81
78
  getCommand(command) { return this.commandMap[command]; }
79
+ /**
80
+ * The declaration of the flags a command line accepts: the global ones every command carries, plus the
81
+ * ones the named command owns.
82
+ * @param command - The name of the command, when the line named one.
83
+ * @returns The declaration the flags of that command line are parsed against.
84
+ *
85
+ * @remarks A name the map does not carry gets the global flags alone, which is what a caller that
86
+ * reads the declaration of a command before it exists needs; {@link CLI.parse} answers such a name
87
+ * before it ever gets here.
88
+ */
89
+ declarationOf(command) {
90
+ const own = command === undefined ? undefined : this.commandMap[command]?.flags;
91
+ return own ? { ...this.globals, ...own } : this.globals;
92
+ }
93
+ /**
94
+ * Splits an invocation into the command it names, its positional arguments and the values of the flags
95
+ * that command accepts.
96
+ * @param tokens - The tokens of the invocation, the command name first.
97
+ * @returns The command with what it was invoked with, or `undefined` when the map carries no command
98
+ * of that name.
99
+ * @throws { Error } When a token is a flag the named command does not accept.
100
+ *
101
+ * @remarks The command is read before the rest is parsed because the flags are declared per command:
102
+ * the global ones every command carries plus the ones the named command owns, so the declaration the
103
+ * arguments and the flags are read against is only known once the command is. A name the map does not
104
+ * carry leaves nothing to parse and is not an invocation: {@link CLI.invoke} answers it, help included.
105
+ */
106
+ parse(tokens) {
107
+ const [name, ...args] = tokens;
108
+ const command = name === undefined ? undefined : this.commandMap[name];
109
+ if (!command)
110
+ return undefined;
111
+ return { command, ...new Flags(this.declarationOf(name)).parse(args) };
112
+ }
113
+ /**
114
+ * Reads an invocation and runs the command it names, the console interface owning the reading of the
115
+ * command, of its positional arguments and of the values of the flags it accepts.
116
+ * @param tokens - The tokens of the invocation, the command name first.
117
+ * @returns A promise resolving when the command is over.
118
+ * @throws { Error } When a token is a flag the named command does not accept.
119
+ *
120
+ * @remarks A name the map does not carry is answered here, help included, rather than by the command
121
+ * it names, because there is no command to hand the line to.
122
+ */
123
+ async invoke(tokens) {
124
+ const invocation = this.parse(tokens);
125
+ if (!invocation) {
126
+ this.out.error(`&C1Unknown command: &C3${tokens[0]}`);
127
+ this.commandMap['help']?.exec.call(this, 'help', [], {});
128
+ return;
129
+ }
130
+ this.adopt(invocation.flags);
131
+ await invocation.command.exec.call(this, invocation.command.name, invocation.args, invocation.flags);
132
+ }
133
+ /**
134
+ * Takes in the flags a parsed invocation carries, before the command that named them runs.
135
+ * @param flags - The values the invocation parsed.
136
+ *
137
+ * @remarks A subclass overrides this to react to the line before the command runs: `DepflowCLI` reads
138
+ * the configuration file the line asked for here, so the reading of the line and the state it sets
139
+ * stay apart.
140
+ */
141
+ adopt(flags) { }
82
142
  /**
83
143
  * Puts a command in the map.
84
144
  * @param command - The name of the command.
@@ -108,7 +168,7 @@ export class CLI {
108
168
  }
109
169
  /**
110
170
  * Writes the banner, the global flags and every command of the map with its usage, its description
111
- * and the arguments it accepts.
171
+ * and the arguments and flags it accepts.
112
172
  *
113
173
  * @remarks The help belongs to the terminal and not to a run, so it is written as it is composed
114
174
  * and it is not announced through the engine: no timestamp, level or name is put in front of it,
@@ -132,6 +192,9 @@ export class CLI {
132
192
  for (const [name, argument] of Object.entries(command.args ?? {})) {
133
193
  lines.push(...CLI.describe(CLI.argumentKey(name, argument), argument.description, width, 5));
134
194
  }
195
+ for (const [name, flag] of Object.entries(command.flags ?? {})) {
196
+ lines.push(...CLI.describe(CLI.flagKey(name, flag), flag.description ?? '', width, 5));
197
+ }
135
198
  lines.push('');
136
199
  }
137
200
  const edge = `${box}╭${'─'.repeat(width - 2)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/cli/CLI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/cli/CLI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @author NetFeez <netfeez.dev@gmail.com>.
3
+ * @description The console surface of DepFlow: it declares the project commands and wires each one to the
4
+ * action of `Actions` that carries it out.
5
+ * @license Apache-2.0
6
+ */
7
+ import CLI from './CLI.js';
8
+ import Actions from './Actions.js';
9
+ import Flags from './Flags.js';
10
+ /** The flags accepted by every command of the CLI. **/
11
+ export declare const options: Flags<{
12
+ readonly flow: {
13
+ readonly type: "string";
14
+ readonly default: "depflow.yml";
15
+ readonly aliases: readonly ["p", "f"];
16
+ readonly description: "Path to the configuration file the command operates on.";
17
+ };
18
+ readonly watch: {
19
+ readonly type: "boolean";
20
+ readonly default: false;
21
+ readonly aliases: readonly ["w"];
22
+ readonly description: "Keeps watching the built files and rewrites their paths on every change.";
23
+ };
24
+ readonly cdn: {
25
+ readonly type: "boolean";
26
+ readonly default: false;
27
+ readonly description: "Resolves the dependency paths to their CDN target instead of their local one.";
28
+ };
29
+ readonly verbose: {
30
+ readonly type: "boolean";
31
+ readonly default: false;
32
+ readonly aliases: readonly ["v"];
33
+ readonly description: "Streams the output of every command as it runs, attributed to the command that wrote it, instead of only reporting how each of them ended. The indentation of that output is lost, and the complete buffer of every command reaches the evidence file whether this flag is given or not.";
34
+ };
35
+ readonly silent: {
36
+ readonly type: "boolean";
37
+ readonly default: false;
38
+ readonly description: "Says only what failed, one line per failed command. It silences the progress of DepFlow itself, such as \"Installing dependencies...\", and not the help, which belongs to the console interface. The exit status and the evidence file are the same as in any other mode.";
39
+ };
40
+ readonly decorate: {
41
+ readonly type: "boolean";
42
+ readonly default: true;
43
+ readonly description: "Draws boxes, indentation, timestamps, levels and names around what is reported. --decorate=false leaves the content alone and keeps the color of the markers and the diagnostics, which carry information and are not decoration.";
44
+ };
45
+ }>;
46
+ export declare class DepflowCLI extends CLI {
47
+ /** Path of the configuration file the commands operate on, as the command line gave it. **/
48
+ configPath: string;
49
+ constructor(configPath?: string);
50
+ /**
51
+ * Reads the configuration file the invocation asked for, before its command runs.
52
+ * @param flags - The values the invocation parsed.
53
+ **/
54
+ protected adopt(flags: DepflowCLI.Options): void;
55
+ /** Absolute path of the directory holding the configuration file, the project root. **/
56
+ get projectRoot(): string;
57
+ /** Absolute path of the flow directory (`.depflow`) under the project root. **/
58
+ protected get flowDirectory(): string;
59
+ /** The project the commands operate on: the context every action is driven with. **/
60
+ get context(): Actions.Context;
61
+ }
62
+ export declare namespace DepflowCLI {
63
+ /** The values of the global flags, the ones every command carries. **/
64
+ type Options = typeof options.infer;
65
+ }
66
+ export default DepflowCLI;
@@ -0,0 +1,228 @@
1
+ /**
2
+ * @author NetFeez <netfeez.dev@gmail.com>.
3
+ * @description The console surface of DepFlow: it declares the project commands and wires each one to the
4
+ * action of `Actions` that carries it out.
5
+ * @license Apache-2.0
6
+ */
7
+ import { Path } from '@netfeez/common-node';
8
+ import CLI from './CLI.js';
9
+ import Actions from './Actions.js';
10
+ import Flags from './Flags.js';
11
+ /** The flags accepted by every command of the CLI. **/
12
+ export const options = new Flags({
13
+ flow: {
14
+ type: 'string',
15
+ default: 'depflow.yml',
16
+ aliases: ['p', 'f'],
17
+ description: 'Path to the configuration file the command operates on.'
18
+ },
19
+ watch: {
20
+ type: 'boolean',
21
+ default: false,
22
+ aliases: ['w'],
23
+ description: 'Keeps watching the built files and rewrites their paths on every change.'
24
+ },
25
+ cdn: {
26
+ type: 'boolean',
27
+ default: false,
28
+ description: 'Resolves the dependency paths to their CDN target instead of their local one.'
29
+ },
30
+ verbose: {
31
+ type: 'boolean',
32
+ default: false,
33
+ aliases: ['v'],
34
+ description: 'Streams the output of every command as it runs, attributed to the command that wrote it, instead of only reporting how each of them ended. The indentation of that output is lost, and the complete buffer of every command reaches the evidence file whether this flag is given or not.'
35
+ },
36
+ silent: {
37
+ type: 'boolean',
38
+ default: false,
39
+ description: 'Says only what failed, one line per failed command. It silences the progress of DepFlow itself, such as "Installing dependencies...", and not the help, which belongs to the console interface. The exit status and the evidence file are the same as in any other mode.'
40
+ },
41
+ decorate: {
42
+ type: 'boolean',
43
+ default: true,
44
+ description: 'Draws boxes, indentation, timestamps, levels and names around what is reported. --decorate=false leaves the content alone and keeps the color of the markers and the diagnostics, which carry information and are not decoration.'
45
+ }
46
+ });
47
+ /**
48
+ * The flags an editing command owns, defined once so every command that carries one shares its type
49
+ * and its description instead of restating them.
50
+ **/
51
+ const EDITING = {
52
+ dep: {
53
+ type: 'string',
54
+ description: 'Name of the dependency whose resolver or builder an editing command targets. Omitted, the command edits the project resolver.'
55
+ },
56
+ action: {
57
+ type: 'string',
58
+ description: 'Name of the named action whose builder an editing command targets.'
59
+ },
60
+ type: {
61
+ type: 'string',
62
+ description: 'Type identifier of a resolver target, set alongside its local path.'
63
+ },
64
+ cdnUrl: {
65
+ type: 'string',
66
+ aliases: ['cdn-url'],
67
+ description: 'CDN URL of a resolver target, set alongside its local path.'
68
+ },
69
+ to: {
70
+ type: 'string',
71
+ description: 'Destination folder of an extract build step.'
72
+ },
73
+ map: {
74
+ type: 'string',
75
+ description: 'Pattern applied to the destination path of an extract build step.'
76
+ },
77
+ search: {
78
+ type: 'string',
79
+ description: 'Regular expression a transform build step searches for.'
80
+ },
81
+ replace: {
82
+ type: 'string',
83
+ description: 'Replacement string of a transform build step.'
84
+ },
85
+ flags: {
86
+ type: 'string',
87
+ description: 'Flags of the regular expression of a transform build step. Defaults to "g".'
88
+ },
89
+ maxTime: {
90
+ type: 'string',
91
+ aliases: ['max-time'],
92
+ description: 'Maximum execution time in milliseconds of a run build step. A value of -1 disables the limit.'
93
+ },
94
+ allowFails: {
95
+ type: 'boolean',
96
+ aliases: ['allow-fails'],
97
+ description: 'Whether the commands of a run build step may fail. Defaults to false.'
98
+ },
99
+ index: {
100
+ type: 'string',
101
+ description: 'Position at which a build step is inserted. Omitted, it is appended at the end.'
102
+ },
103
+ force: {
104
+ type: 'boolean',
105
+ description: 'Overwrites an existing resolver alias instead of failing.'
106
+ },
107
+ npm: {
108
+ type: 'boolean',
109
+ description: 'Adds an npm dependency instead of a git one.'
110
+ },
111
+ tag: {
112
+ type: 'string',
113
+ description: 'Git tag, branch or commit an added git dependency is checked out at. Defaults to "main".'
114
+ }
115
+ };
116
+ /** The flags the `resolver` command owns, beside the global ones. **/
117
+ const resolverOwn = { dep: EDITING.dep, type: EDITING.type, cdnUrl: EDITING.cdnUrl, force: EDITING.force };
118
+ /** The flags the `builder` command owns, beside the global ones. **/
119
+ const builderOwn = {
120
+ dep: EDITING.dep,
121
+ action: EDITING.action,
122
+ to: EDITING.to,
123
+ map: EDITING.map,
124
+ search: EDITING.search,
125
+ replace: EDITING.replace,
126
+ flags: EDITING.flags,
127
+ maxTime: EDITING.maxTime,
128
+ allowFails: EDITING.allowFails,
129
+ index: EDITING.index
130
+ };
131
+ /** The flags the `add` command owns, beside the global ones. **/
132
+ const addOwn = { npm: EDITING.npm, tag: EDITING.tag };
133
+ export class DepflowCLI extends CLI {
134
+ /** Path of the configuration file the commands operate on, as the command line gave it. **/
135
+ configPath;
136
+ constructor(configPath = 'depFlow.yml') {
137
+ super(options.declaration, {
138
+ name: 'C-UI',
139
+ title: '&C1DepFlow &C5CLI &C6by NetFeez',
140
+ prompt: '&C5[DepFlow] << &C6&S'
141
+ });
142
+ this.configPath = configPath;
143
+ this.addCommand('add', (command, args, flags) => Actions.add(this.context, args, flags), {
144
+ usage: 'dep add <repo_url> [name] [--tag <ref>] | dep add --npm <name>[@<version>]',
145
+ description: 'Add a dependency to the configuration file.',
146
+ args: {
147
+ repo_url: { description: 'URL of the git repository to add.' },
148
+ name: { description: 'Name to register the dependency under; derived from the repository URL when it is omitted.', required: false }
149
+ },
150
+ flags: addOwn
151
+ });
152
+ this.addCommand('remove', (command, args, flags) => Actions.remove(this.context, args, flags), {
153
+ usage: 'dep remove <name> | <repo_url>',
154
+ description: 'Remove a dependency from the configuration file and uninstall its files.',
155
+ args: {
156
+ identifier: { description: 'Name or repository URL of the dependency to remove.' }
157
+ }
158
+ });
159
+ this.addCommand('install', (command, args, flags) => Actions.install(this.context, args, flags), {
160
+ usage: 'dep install [name1 name2 ...]',
161
+ description: 'Install dependencies. If names are provided, only those dependencies will be installed.',
162
+ args: {
163
+ names: { description: 'Names of the dependencies to install; every dependency when none is given.', required: false, variadic: true }
164
+ }
165
+ });
166
+ this.addCommand('run', (command, args, flags) => Actions.run(this.context, args, flags), {
167
+ usage: 'dep run <script>',
168
+ description: 'Run a custom action defined in the configuration file.',
169
+ args: {
170
+ script: { description: 'Name of the action declared in the configuration file.' }
171
+ }
172
+ });
173
+ this.addCommand('list', (command, args, flags) => Actions.list(this.context, args, flags), { usage: 'dep list', description: 'List all dependencies in the configuration file.' });
174
+ this.addCommand('resolver', (command, args, flags) => Actions.resolver(this.context, args, flags), {
175
+ usage: 'dep resolver add <alias> <local> [--type <t>] [--cdn-url <url>] | remove <alias> | list | clear [--dep <name>]',
176
+ description: 'Edits the resolver aliases of the project or of a named dependency.',
177
+ flags: resolverOwn
178
+ });
179
+ this.addCommand('builder', (command, args, flags) => Actions.builder(this.context, args, flags), {
180
+ usage: 'dep builder add <run|extract|transform> ... | remove <index> | move <from> <to> | list | clear [--dep <name> | --action <name>]',
181
+ description: 'Edits the build pipeline of a dependency or of a named action.',
182
+ flags: builderOwn
183
+ });
184
+ this.addCommand('action', (command, args, flags) => Actions.action(this.context, args, flags), {
185
+ usage: 'dep action create <name> | remove <name> | list',
186
+ description: 'Manages the named build actions of the configuration.'
187
+ });
188
+ this.addCommand('config', (command, args, flags) => Actions.config(this.context, args, flags), {
189
+ usage: 'dep config get [key] | set <key> <value> | unset <key>',
190
+ description: 'Reads and edits the top-level settings of the configuration (outDir, tsconfig, importmap).'
191
+ });
192
+ this.addCommand('rewrite-paths', (command, args, flags) => Actions.rewritePaths(this.context, args, flags), { usage: 'dep rewrite-paths [--watch] [--cdn]', description: 'Rewrite the paths of the built files of outDir according to the resolver entries of the configuration.' });
193
+ this.addCommand('sync', (command, args, flags) => Actions.sync(this.context, args, flags), { usage: 'dep sync', description: 'Write the resolver entries into the paths of the declared tsconfig and into the declared importmap.' });
194
+ this.addCommand('json-to-yaml', (command, args, flags) => Actions.convert(this.context, command, args, flags), {
195
+ usage: 'dep json-to-yaml [output.yaml]',
196
+ description: 'Convert the depflow config file from JSON to YAML.',
197
+ args: {
198
+ output: { description: 'Path of the YAML file to write; derived from the config file name when it is omitted.', required: false }
199
+ }
200
+ });
201
+ this.addCommand('yaml-to-json', (command, args, flags) => Actions.convert(this.context, command, args, flags), {
202
+ usage: 'dep yaml-to-json [output.json]',
203
+ description: 'Convert the depflow config file from YAML to JSON.',
204
+ args: {
205
+ output: { description: 'Path of the JSON file to write; derived from the config file name when it is omitted.', required: false }
206
+ }
207
+ });
208
+ }
209
+ /**
210
+ * Reads the configuration file the invocation asked for, before its command runs.
211
+ * @param flags - The values the invocation parsed.
212
+ **/
213
+ adopt(flags) { this.configPath = flags.flow; }
214
+ /** Absolute path of the directory holding the configuration file, the project root. **/
215
+ get projectRoot() { return Path.dirname(Path.resolve(process.cwd(), this.configPath)); }
216
+ /** Absolute path of the flow directory (`.depflow`) under the project root. **/
217
+ get flowDirectory() { return Path.join(this.projectRoot, '.depflow'); }
218
+ /** The project the commands operate on: the context every action is driven with. **/
219
+ get context() {
220
+ return {
221
+ configPath: this.configPath,
222
+ projectRoot: this.projectRoot,
223
+ flowDirectory: this.flowDirectory
224
+ };
225
+ }
226
+ }
227
+ export default DepflowCLI;
228
+ //# sourceMappingURL=DepflowCLI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DepflowCLI.js","sourceRoot":"","sources":["../../src/cli/DepflowCLI.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,uDAAuD;AACvD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC;IAC7B,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;QACnB,WAAW,EAAE,yDAAyD;KACzE;IACD,KAAK,EAAE;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,WAAW,EAAE,0EAA0E;KAC1F;IACD,GAAG,EAAE;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,+EAA+E;KAC/F;IACD,OAAO,EAAE;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,WAAW,EAAE,0RAA0R;KAC1S;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,0QAA0Q;KAC1R;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,mOAAmO;KACnP;CACJ,CAAC,CAAC;AAEH;;;IAGI;AACJ,MAAM,OAAO,GAAG;IACZ,GAAG,EAAE;QACD,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+HAA+H;KAC/I;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oEAAoE;KACpF;IACD,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qEAAqE;KACrF;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,WAAW,EAAE,6DAA6D;KAC7E;IACD,EAAE,EAAE;QACA,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,8CAA8C;KAC9D;IACD,GAAG,EAAE;QACD,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mEAAmE;KACnF;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,yDAAyD;KACzE;IACD,OAAO,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+CAA+C;KAC/D;IACD,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6EAA6E;KAC7F;IACD,OAAO,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,UAAU,CAAC;QACrB,WAAW,EAAE,+FAA+F;KAC/G;IACD,UAAU,EAAE;QACR,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,aAAa,CAAC;QACxB,WAAW,EAAE,uEAAuE;KACvF;IACD,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iFAAiF;KACjG;IACD,KAAK,EAAE;QACH,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2DAA2D;KAC3E;IACD,GAAG,EAAE;QACD,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8CAA8C;KAC9D;IACD,GAAG,EAAE;QACD,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0FAA0F;KAC1G;CACiC,CAAC;AAEvC,sEAAsE;AACtE,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAuC,CAAC;AAEhJ,qEAAqE;AACrE,MAAM,UAAU,GAAG;IACf,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,EAAE,EAAE,OAAO,CAAC,EAAE;IACd,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,UAAU,EAAE,OAAO,CAAC,UAAU;IAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;CACc,CAAC;AAEvC,iEAAiE;AACjE,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAuC,CAAC;AAE3F,MAAM,OAAO,UAAW,SAAQ,GAAG;IAC/B,4FAA4F;IACrF,UAAU,CAAS;IAE1B,YAAmB,UAAU,GAAW,aAAa;QACjD,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;YACvB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,iCAAiC;YACxC,MAAM,EAAE,uBAAuB;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YACrF,KAAK,EAAE,4EAA4E;YACnF,WAAW,EAAE,6CAA6C;YAC1D,IAAI,EAAE;gBACF,QAAQ,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAC9D,IAAI,EAAE,EAAE,WAAW,EAAE,4FAA4F,EAAE,QAAQ,EAAE,KAAK,EAAE;aACvI;YACD,KAAK,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YAC3F,KAAK,EAAE,gCAAgC;YACvC,WAAW,EAAE,0EAA0E;YACvF,IAAI,EAAE;gBACF,UAAU,EAAE,EAAE,WAAW,EAAE,qDAAqD,EAAE;aACrF;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YAC7F,KAAK,EAAE,+BAA+B;YACtC,WAAW,EAAE,yFAAyF;YACtG,IAAI,EAAE;gBACF,KAAK,EAAE,EAAE,WAAW,EAAE,4EAA4E,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;aACxI;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YACrF,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE;gBACF,MAAM,EAAE,EAAE,WAAW,EAAE,wDAAwD,EAAE;aACpF;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC,CAAC;QACnL,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YAC/F,KAAK,EAAE,gHAAgH;YACvH,WAAW,EAAE,qEAAqE;YAClF,KAAK,EAAE,WAAW;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YAC7F,KAAK,EAAE,iIAAiI;YACxI,WAAW,EAAE,gEAAgE;YAC7E,KAAK,EAAE,UAAU;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YAC3F,KAAK,EAAE,iDAAiD;YACxD,WAAW,EAAE,uDAAuD;SACvE,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YAC3F,KAAK,EAAE,wDAAwD;YAC/D,WAAW,EAAE,4FAA4F;SAC5G,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,qCAAqC,EAAE,WAAW,EAAE,wGAAwG,EAAE,CAAC,CAAC;QACrR,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,qGAAqG,EAAG,CAAC,CAAC;QACvO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YAC3G,KAAK,EAAE,gCAAgC;YACvC,WAAW,EAAE,oDAAoD;YACjE,IAAI,EAAE;gBACF,MAAM,EAAE,EAAE,WAAW,EAAE,uFAAuF,EAAE,QAAQ,EAAE,KAAK,EAAE;aACpI;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YAC3G,KAAK,EAAE,gCAAgC;YACvC,WAAW,EAAE,oDAAoD;YACjE,IAAI,EAAE;gBACF,MAAM,EAAE,EAAE,WAAW,EAAE,uFAAuF,EAAE,QAAQ,EAAE,KAAK,EAAE;aACpI;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;QAGI;IACM,KAAK,CAAC,KAAyB,IAAU,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAElF,wFAAwF;IACxF,IAAW,WAAW,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvG,gFAAgF;IAChF,IAAc,aAAa,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAEzF,qFAAqF;IACrF,IAAW,OAAO;QACd,OAAO;YACH,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;SACpC,CAAC;IACN,CAAC;CACJ;AAOD,eAAe,UAAU,CAAC"}