@bitspark/horos 0.0.0-stage → 0.7.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":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAc,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAQ,EACR,YAAY,GACb,MAAM,sBAAsB,CAAC;AAK9B;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,wBAAwB;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB;AAEtE;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,CAAS;IACpC,OAAO,CAAC,IAAI,kBAAkB,IAAI,CAAC,IAAI,kBAAkB,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAqB/E,kFAAkF;AAClF,SAAS,IAAI,CAAI,IAAO,EAAE,IAAyB;IACjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,6FAA6F;AAC7F,SAAS,gBAAgB,CAAC,CAA+B,EAAE,IAAgB;IACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAQD;;;;;;;;;GASG;AACH,SAAS,IAAI,CAAC,CAAQ;IACpB,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACxB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,wEAAwE;AACxE,SAAS,SAAS,CAAC,CAAQ;IACzB,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,6FAA6F;AAC7F,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,iFAAiF;AACjF,mFAAmF;AACnF,iFAAiF;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,iFAAiF;AAEjF,6DAA6D;AAC7D,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC;AAClC,CAAC;AAED,kDAAkD;AAClD,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC;AAClC,CAAC;AAED,6EAA6E;AAC7E,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,EAAU;IAC3B,OAAO,CACL,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CACvF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,CAAS;IAClC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;IACtC,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QACnC,IACE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,EACpF,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,QAAQ;QACxB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,CAAS;IAC3B,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;YAAE,OAAO,IAAI,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,CAAS;IACrC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9E,GAAG,IAAI,CAAC,CAAC;QACX,CAAC;QACD,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAE,CAAC,WAAW,CAAC,CAAC,CAAE,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC,CAAC,SAAS;YACpF,GAAG,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,0BAA0B;AACvD,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAQ,EAAE,CAAQ;IACzC,mFAAmF;IACnF,iFAAiF;IACjF,sEAAsE;IACtE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,UAAU,CACjB,CAAQ,EACR,CAAQ,EACR,GAA8B,EAC9B,OAAqC,EACrC,KAAa;IAEb,qGAAqG;IACrG,qFAAqF;IACrF,gEAAgE;IAChE,IAAI,KAAK,GAAG,mBAAmB;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,yBAAyB;IAC5D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACzB,QAAQ,IAAI,EAAE,CAAC;QACb,OAAO;QACP,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAE3B,SAAS;QACT,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC;QAChD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAC/B,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACvD,OAAO,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,EAAE,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACnC,+EAA+E;YAC/E,+EAA+E;YAC/E,2FAA2F;YAC3F,iFAAiF;YACjF,+EAA+E;YAC/E,oFAAoF;YACpF,4EAA4E;YAC5E,IAAI,EAAU,CAAC;YACf,IAAI,EAAU,CAAC;YACf,IAAI,CAAC;gBACH,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;gBACvB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,EAAE,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACnC,IAAI,KAAc,CAAC;YACnB,IAAI,CAAC;gBACH,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,EAAE,KAAK,SAAS,IAAI,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC1D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0FAA0F;QAC1F,gFAAgF;QAChF,8EAA8E;QAC9E,wEAAwE;QACxE,sCAAsC;QACtC,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,CAAS,CAAC;YACd,IAAI,EAAU,CAAC;YACf,IAAI,EAAU,CAAC;YACf,IAAI,CAAC;gBACH,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;gBACvB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC;YACjE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,CAAS,CAAC;YACd,IAAI,CAAC;gBACH,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,CAAS,CAAC;YACd,IAAI,CAAC;gBACH,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,CAAS,CAAC;YACd,IAAI,CAAC;gBACH,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,2DAA2D;QAC3D,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAClC,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,QAAQ,IAAI,EAAE,CAAC;gBACb,6EAA6E;gBAC7E,4EAA4E;gBAC5E,sEAAsE;gBACtE,KAAK,KAAK;oBACR,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,KAAK,WAAW;oBACd,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,KAAK,MAAM;oBACT,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,gFAAgF;QAChF,kCAAkC;QAClC,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAChF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YACxE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,EAAE,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACnC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACnC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAClF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gFAAgF;QAChF,qDAAqD;QACrD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,KAAc,CAAC;YACnB,IAAI,CAAC;gBACH,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YACxE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,KAAc,CAAC;YACnB,IAAI,CAAC;gBACH,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YACxE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,OAA8B,CAAC;YACnC,IAAI,CAAC;gBACH,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC/B,IACE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC;oBACnD,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,EACrD,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gFAAgF;QAChF,oCAAoC;QACpC,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClC,OAAO,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;QAED,+EAA+E;QAC/E,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC9D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,iFAAiF;QACjF,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,OAAO,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QACjC,CAAC;QAED,wEAAwE;QACxE,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACpB,IAAI,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACtB,6EAA6E;YAC7E,2CAA2C;YAC3C,MAAM,CAAC,GAAG,IAAI,CAAU,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACpB,IAAI,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC,+CAA+C;YAChG,4EAA4E;YAC5E,kCAAkC;YAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC,CAAC,oBAAoB;YAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,6DAA6D;QAC7D;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AASD;;;GAGG;AACH,SAAS,SAAS,CAAC,CAAQ;IACzB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC,KAAK,KAAK;QAAE,QAAQ,GAAG,IAAI,CAAC;SAC5B,IAAI,CAAC,KAAK,KAAK;QAAE,QAAQ,GAAG,KAAK,CAAC;;QAClC,OAAO,SAAS,CAAC;IACtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CACrB,CAAQ,EACR,IAAW,EACX,MAAwB,EACxB,GAA8B,EAC9B,KAAa;IAEb,4CAA4C;IAC5C,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,IAAa,CAAC;IAClB,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,MAAM;QAAE,IAAI,GAAG,IAAI,CAAC;SACzB,IAAI,CAAC,KAAK,QAAQ;QAAE,IAAI,GAAG,KAAK,CAAC;;QACjC,OAAO,KAAK,CAAC;IAClB,0CAA0C;IAC1C,IAAI,OAA8B,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,iFAAiF;IACjF,8EAA8E;IAC9E,kFAAkF;IAClF,mFAAmF;IACnF,mFAAmF;IACnF,4DAA4D;IAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACzC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,+EAA+E;IAC/E,oFAAoF;IACpF,+EAA+E;IAC/E,mFAAmF;IACnF,gDAAgD;IAChD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,6BAA6B;QAClE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACxE,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,iFAAiF;IACjF,oFAAoF;IACpF,iFAAiF;IACjF,yEAAyE;IACzE,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa,CAAC;QACnB,KAAK,gBAAgB,CAAC;QACtB,KAAK,gBAAgB,CAAC;QACtB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,CAAQ,EAAE,CAAQ;IAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,cAAc,CAAC,CAAQ;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,mBAAmB,CACjC,CAAQ;IAER,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,EAAE,CAAC,CAAQ;IACzB,OAAO,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,IAAI,CACX,CAAQ,EACR,KAAmC,EACnC,OAAqC,EACrC,KAAa;IAEb,oGAAoG;IACpG,wFAAwF;IACxF,0FAA0F;IAC1F,IAAI,KAAK,GAAG,mBAAmB;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACzB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAC3B,KAAK,YAAY;YACf,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,YAAY,IAAI,CAAC;QACvD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,EAAU,CAAC;YACf,IAAI,EAAU,CAAC;YACf,IAAI,CAAC;gBACH,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;gBACvB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,+FAA+F;YAC/F,sCAAsC;YACtC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9B,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,KAAc,CAAC;YACnB,IAAI,CAAC;gBACH,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,0DAA0D;YAC1D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,yFAAyF;QACzF,+FAA+F;QAC/F,4CAA4C;QAC5C,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,EAAU,CAAC;YACf,IAAI,EAAU,CAAC;YACf,IAAI,CAAC;gBACH,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;gBACvB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9B,CAAC;QACD,KAAK,aAAa,CAAC;QACnB,KAAK,gBAAgB,CAAC;QACtB,KAAK,gBAAgB;YACnB,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAC3B,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAClC,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,MAAM,CAAC;QACnE,CAAC;QACD,uEAAuE;QACvE,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1E,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,YAAY,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1E,KAAK,QAAQ;YACX,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAC5C,CAAC;QACJ,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QACD,+CAA+C;QAC/C,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACjE,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACxE,KAAK,OAAO;YACV,+CAA+C;YAC/C,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAC3B,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACpB,IAAI,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;YACtB,0DAA0D;YAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACpB,IAAI,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;QACD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CACf,IAAW,EACX,MAAwB,EACxB,KAAmC,EACnC,KAAa;IAEb,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7D,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,uBAAuB;QACnE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,kFAAkF;AAClF,qFAAqF;AACrF,SAAS,UAAU,CAAC,IAAW,EAAE,KAAY;IAC3C,MAAM,IAAI,GAAqB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAG,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YACrC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAClB,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,GAA8B,EAAE,IAAgB;IAClE,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACxD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAiB;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2FAA2F;AAC3F,SAAS,EAAE,CAAC,EAAiB;IAC3B,IAAI,CAAC;QACH,EAAE,EAAE,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { type Value } from "@bitspark/ontos-core";
2
+ /** The declared bound an `exhausted` outcome reached. */
3
+ export type Limit = "recursion_depth";
4
+ /** The effective value of a limit in this build. */
5
+ export declare function limitValue(l: Limit): number;
6
+ /** The completed/incomplete classification of a checking attempt. */
7
+ export type Verdict = "conforms" | "mismatch" | "not_well_formed" | "exhausted";
8
+ /**
9
+ * A checking outcome that distinguishes a completed decision from a reached bound.
10
+ *
11
+ * `exhausted` is INCOMPLETE: a statement about THIS bounded attempt, never a claim that the
12
+ * value does or does not have the form, and never a refutation.
13
+ */
14
+ export type Diagnosis = {
15
+ readonly verdict: "conforms";
16
+ } | {
17
+ readonly verdict: "mismatch";
18
+ } | {
19
+ readonly verdict: "not_well_formed";
20
+ } | {
21
+ readonly verdict: "exhausted";
22
+ readonly limit: Limit;
23
+ };
24
+ /** Whether this outcome is a completed decision. */
25
+ export declare function isComplete(d: Diagnosis): boolean;
26
+ /**
27
+ * The legacy boolean this outcome corresponds to WHERE ONE IS DETERMINED (ADR 0008 D4):
28
+ * `true` for conforms, `false` for mismatch/not_well_formed, and **`undefined` for exhausted**
29
+ * — the boolean is unconstrained there, and collapsing the outcome into it is exactly what
30
+ * horos-internal#211 asks not to do.
31
+ */
32
+ export declare function completedBool(d: Diagnosis): boolean | undefined;
33
+ /**
34
+ * The checking profile a Diagnosis is stated under. A completed negative is completed UNDER
35
+ * THIS PROFILE, never absolutely — so the profile travels with the verdict.
36
+ */
37
+ export interface Profile {
38
+ readonly maxRecursionDepth: number;
39
+ readonly atomLenBoundMin: bigint;
40
+ readonly atomLenBoundMax: bigint;
41
+ }
42
+ /** The profile this build decides under. */
43
+ export declare function checkingProfile(): Profile;
44
+ /**
45
+ * Diagnose `wf(T)`: `conforms` when T is a well-formed descriptor, `not_well_formed` when it is
46
+ * conclusively not, and `exhausted` when the well-formedness traversal itself could not finish
47
+ * — the distinction horos-internal#211 asks for by name.
48
+ */
49
+ export declare function diagnoseWf(t: Value): Diagnosis;
50
+ /**
51
+ * Diagnose `v : T`. Mirrors `conforms`: the `wf(T)` soundness gate runs first (spec §3 MUST),
52
+ * so a descriptor that is not well-formed yields `not_well_formed` and one whose
53
+ * well-formedness could not be decided yields `exhausted` — neither is reported as a mismatch
54
+ * of the value.
55
+ */
56
+ export declare function diagnose(v: Value, t: Value): Diagnosis;
@@ -0,0 +1,399 @@
1
+ /*
2
+ * Diagnostic checking outcomes (horos-internal#211, docs/architecture/decisions/0008-diagnostic-outcomes-kleene.md).
3
+ *
4
+ * A byte-for-byte port of core/rs/src/diagnose.rs (and core/go/diagnose.go). An ADDITIVE
5
+ * companion to the frozen boolean surface: `wf` and `conforms` are unchanged,
6
+ * vectors/conformance.json is unchanged, and nothing here reinterprets what today's `false`
7
+ * means.
8
+ *
9
+ * What it adds is the distinction the boolean cannot carry: a completed structural MISMATCH, a
10
+ * MALFORMED descriptor, and a computation that reached the declared MAX_RECURSION_DEPTH bound
11
+ * are three different pieces of evidence, and the boolean renders all three as `false`.
12
+ *
13
+ * The composition rules are the content (ADR 0008 D2/D3), not the extra enum:
14
+ *
15
+ * - Complement PRESERVES exhaustion: not(Exhausted) = Exhausted, never Conforms. The frozen
16
+ * recognizer computes !conformsIn(…), so an inner descent that trips the cap yields false and
17
+ * `not` reports an unqualified `true` — a completed positive out of a computation that never
18
+ * finished. That is the defect this module exists to name.
19
+ * - union/and are KLEENE: a DECISIVE alternative beats an exhausted sibling, so the evaluator
20
+ * short-circuits on a decisive result but NEVER on an Exhausted. The answer is a function of
21
+ * the SET of sub-outcomes, never of traversal order.
22
+ */
23
+ import { readList, readMap, readSet, readText } from "@bitspark/ontos-data";
24
+ import { ATOM_LEN_BOUND_MAX, ATOM_LEN_BOUND_MIN, isLeafCtor, leafClassifies, leafWellFormed, MAX_RECURSION_DEPTH, NAMESPACE, readFieldDescriptor, } from "./core.js";
25
+ /** The effective value of a limit in this build. */
26
+ export function limitValue(l) {
27
+ return l === "recursion_depth" ? MAX_RECURSION_DEPTH : 0;
28
+ }
29
+ const CONFORMS = { verdict: "conforms" };
30
+ const MISMATCH = { verdict: "mismatch" };
31
+ const NOT_WF = { verdict: "not_well_formed" };
32
+ const exhausted = (limit) => ({ verdict: "exhausted", limit });
33
+ /** Whether this outcome is a completed decision. */
34
+ export function isComplete(d) {
35
+ return d.verdict !== "exhausted";
36
+ }
37
+ /**
38
+ * The legacy boolean this outcome corresponds to WHERE ONE IS DETERMINED (ADR 0008 D4):
39
+ * `true` for conforms, `false` for mismatch/not_well_formed, and **`undefined` for exhausted**
40
+ * — the boolean is unconstrained there, and collapsing the outcome into it is exactly what
41
+ * horos-internal#211 asks not to do.
42
+ */
43
+ export function completedBool(d) {
44
+ switch (d.verdict) {
45
+ case "conforms":
46
+ return true;
47
+ case "mismatch":
48
+ case "not_well_formed":
49
+ return false;
50
+ default:
51
+ return undefined;
52
+ }
53
+ }
54
+ /** The profile this build decides under. */
55
+ export function checkingProfile() {
56
+ return {
57
+ maxRecursionDepth: MAX_RECURSION_DEPTH,
58
+ atomLenBoundMin: ATOM_LEN_BOUND_MIN,
59
+ atomLenBoundMax: ATOM_LEN_BOUND_MAX,
60
+ };
61
+ }
62
+ // ----- the Kleene folds (ADR 0008 D2/D3) -----
63
+ /**
64
+ * `not`: swap the completed verdicts, PRESERVE exhaustion. Never completes an incomplete
65
+ * subdecision — the rule this module exists for.
66
+ */
67
+ function kleeneNot(inner) {
68
+ switch (inner.verdict) {
69
+ case "conforms":
70
+ return MISMATCH;
71
+ case "mismatch":
72
+ return CONFORMS;
73
+ default:
74
+ // not_well_formed cannot arise below the entry wf gate; exhausted is preserved.
75
+ return inner;
76
+ }
77
+ }
78
+ /** Kleene disjunction: a decisive `conforms` wins over an exhausted sibling. */
79
+ function kleeneAny(outcomes) {
80
+ let limit;
81
+ let notWF = false;
82
+ for (const o of outcomes) {
83
+ if (o.verdict === "conforms")
84
+ return CONFORMS; // decisive — stop here
85
+ if (o.verdict === "not_well_formed")
86
+ notWF = true;
87
+ else if (o.verdict === "exhausted" && limit === undefined)
88
+ limit = o.limit;
89
+ }
90
+ if (limit !== undefined)
91
+ return exhausted(limit);
92
+ return notWF ? NOT_WF : MISMATCH;
93
+ }
94
+ /** Kleene conjunction: a decisive `mismatch` wins over an exhausted sibling. */
95
+ function kleeneAll(outcomes) {
96
+ let limit;
97
+ let notWF = false;
98
+ for (const o of outcomes) {
99
+ if (o.verdict === "mismatch")
100
+ return MISMATCH; // decisive — stop here
101
+ if (o.verdict === "not_well_formed")
102
+ notWF = true;
103
+ else if (o.verdict === "exhausted" && limit === undefined)
104
+ limit = o.limit;
105
+ }
106
+ if (limit !== undefined)
107
+ return exhausted(limit);
108
+ return notWF ? NOT_WF : CONFORMS;
109
+ }
110
+ // ----- the public entry points -----
111
+ /**
112
+ * Diagnose `wf(T)`: `conforms` when T is a well-formed descriptor, `not_well_formed` when it is
113
+ * conclusively not, and `exhausted` when the well-formedness traversal itself could not finish
114
+ * — the distinction horos-internal#211 asks for by name.
115
+ */
116
+ export function diagnoseWf(t) {
117
+ return diagnoseWfIn(t, [], [], 0);
118
+ }
119
+ /**
120
+ * Diagnose `v : T`. Mirrors `conforms`: the `wf(T)` soundness gate runs first (spec §3 MUST),
121
+ * so a descriptor that is not well-formed yields `not_well_formed` and one whose
122
+ * well-formedness could not be decided yields `exhausted` — neither is reported as a mismatch
123
+ * of the value.
124
+ */
125
+ export function diagnose(v, t) {
126
+ const w = diagnoseWf(t);
127
+ if (w.verdict === "conforms")
128
+ return diagnoseIn(v, t, [], [], 0);
129
+ if (w.verdict === "exhausted")
130
+ return w;
131
+ return NOT_WF;
132
+ }
133
+ function head(t) {
134
+ if (t.kind !== "tuple")
135
+ return undefined;
136
+ const items = t.items();
137
+ const first = items[0];
138
+ if (first === undefined || first.kind !== "atom")
139
+ return undefined;
140
+ let s;
141
+ try {
142
+ s = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(first.bytes());
143
+ }
144
+ catch {
145
+ return undefined;
146
+ }
147
+ if (!s.startsWith(NAMESPACE))
148
+ return undefined;
149
+ return { ctor: s.slice(NAMESPACE.length), args: items.slice(1) };
150
+ }
151
+ function atomBytesOf(v) {
152
+ return v.kind === "atom" ? v.bytes() : undefined;
153
+ }
154
+ function atomStringOf(v) {
155
+ const b = atomBytesOf(v);
156
+ if (b === undefined)
157
+ return undefined;
158
+ // One code point per byte: arbitrary atom names must never alias through UTF-8 replacement.
159
+ let key = "";
160
+ for (const byte of b)
161
+ key += String.fromCharCode(byte);
162
+ return key;
163
+ }
164
+ function diagnoseIn(v, t, env, pending, depth) {
165
+ if (depth > MAX_RECURSION_DEPTH)
166
+ return exhausted("recursion_depth");
167
+ const h = head(t);
168
+ if (h === undefined)
169
+ return MISMATCH; // not a horos descriptor
170
+ const { ctor, args } = h;
171
+ // Leaves never recurse into a value position, so they are always decisive here.
172
+ if (isLeafCtor(ctor))
173
+ return leafClassifies(v, t) ? CONFORMS : MISMATCH;
174
+ switch (ctor) {
175
+ // Composition on the SAME v — pending threads through unchanged.
176
+ case "union":
177
+ return kleeneAny(args.map((ct) => diagnoseIn(v, ct, env, pending, depth + 1)));
178
+ case "and":
179
+ return kleeneAll(args.map((ct) => diagnoseIn(v, ct, env, pending, depth + 1)));
180
+ case "not": {
181
+ if (args.length !== 1)
182
+ return MISMATCH;
183
+ return kleeneNot(diagnoseIn(v, args[0], env, pending, depth + 1));
184
+ }
185
+ // Recursion — mirrors the recognizer's guard exactly.
186
+ case "rec": {
187
+ if (args.length !== 2)
188
+ return MISMATCH;
189
+ const name = atomStringOf(args[0]);
190
+ if (name === undefined)
191
+ return MISMATCH;
192
+ const body = args[1];
193
+ return diagnoseIn(v, body, [...env, { name, body }], [...pending, name], depth + 1);
194
+ }
195
+ case "ref": {
196
+ if (args.length !== 1)
197
+ return MISMATCH;
198
+ const name = atomStringOf(args[0]);
199
+ if (name === undefined)
200
+ return MISMATCH;
201
+ if (pending.includes(name))
202
+ return MISMATCH; // unguarded — the recognizer's false
203
+ for (let i = env.length - 1; i >= 0; i -= 1) {
204
+ if (env[i].name === name) {
205
+ return diagnoseIn(v, env[i].body, env, [...pending, name], depth + 1);
206
+ }
207
+ }
208
+ return MISMATCH; // unbound
209
+ }
210
+ }
211
+ // Structural arms: the gate is decisive, and a descent into a CHILD VALUE clears pending.
212
+ const children = structuralChildren(v, ctor, args);
213
+ if (children === undefined)
214
+ return MISMATCH;
215
+ return kleeneAll(children.map(([cv, ct]) => diagnoseIn(cv, ct, env, [], depth + 1)));
216
+ }
217
+ /**
218
+ * The structural gate plus the ordered child sub-judgments, for the arms that descend into a
219
+ * child VALUE. Mirrors the recognizer's recursive arms; `undefined` means the gate failed, so
220
+ * `v` cannot conform regardless of any child.
221
+ */
222
+ function structuralChildren(v, ctor, args) {
223
+ switch (ctor) {
224
+ case "tuple": {
225
+ if (v.kind !== "tuple")
226
+ return undefined;
227
+ const items = v.items();
228
+ if (items.length !== args.length)
229
+ return undefined;
230
+ return items.map((c, i) => [c, args[i]]);
231
+ }
232
+ case "seq": {
233
+ if (args.length !== 1 || v.kind !== "tuple")
234
+ return undefined;
235
+ return v.items().map((c) => [c, args[0]]);
236
+ }
237
+ case "compound": {
238
+ if (args.length < 1 || v.kind !== "tuple")
239
+ return undefined;
240
+ const label = atomBytesOf(args[0]);
241
+ const items = v.items();
242
+ if (label === undefined || items.length !== args.length)
243
+ return undefined;
244
+ const got = atomBytesOf(items[0]);
245
+ if (got === undefined ||
246
+ got.length !== label.length ||
247
+ got.some((b, i) => b !== label[i]))
248
+ return undefined;
249
+ return args.slice(1).map((ct, i) => [items[i + 1], ct]);
250
+ }
251
+ case "list-of":
252
+ case "set-of": {
253
+ if (args.length !== 1)
254
+ return undefined;
255
+ try {
256
+ const elems = ctor === "list-of" ? readList(v) : readSet(v);
257
+ return elems.map((e) => [e, args[0]]);
258
+ }
259
+ catch {
260
+ return undefined;
261
+ }
262
+ }
263
+ case "map-of": {
264
+ if (args.length !== 2)
265
+ return undefined;
266
+ try {
267
+ const out = [];
268
+ for (const [k, val] of readMap(v)) {
269
+ out.push([k, args[0]], [val, args[1]]);
270
+ }
271
+ return out;
272
+ }
273
+ catch {
274
+ return undefined;
275
+ }
276
+ }
277
+ case "record":
278
+ return args.length < 1 ? undefined : recordChildren(v, args[0], args.slice(1));
279
+ }
280
+ return undefined;
281
+ }
282
+ /** Mirrors the recognizer's record gate and present-field worklist. */
283
+ function recordChildren(v, mode, fields) {
284
+ const m = atomStringOf(mode);
285
+ if (m !== "open" && m !== "closed")
286
+ return undefined;
287
+ const closed = m === "closed";
288
+ let entries;
289
+ try {
290
+ entries = readMap(v);
291
+ }
292
+ catch {
293
+ return undefined;
294
+ }
295
+ const keyed = new Map();
296
+ for (const [k, val] of entries) {
297
+ try {
298
+ keyed.set(readText(k), val);
299
+ }
300
+ catch {
301
+ return undefined;
302
+ }
303
+ }
304
+ const out = [];
305
+ const declared = new Set();
306
+ for (const f of fields) {
307
+ const fd = readFieldDescriptor(f);
308
+ if (fd === undefined)
309
+ return undefined;
310
+ declared.add(fd.name);
311
+ const val = keyed.get(fd.name);
312
+ if (val === undefined) {
313
+ if (fd.required)
314
+ return undefined; // a missing required field is decisive
315
+ continue;
316
+ }
317
+ out.push([val, fd.ty]);
318
+ }
319
+ if (closed) {
320
+ for (const k of keyed.keys()) {
321
+ if (!declared.has(k))
322
+ return undefined; // an extra key in a closed record is decisive
323
+ }
324
+ }
325
+ return out;
326
+ }
327
+ function diagnoseWfIn(t, bound, pending, depth) {
328
+ if (depth > MAX_RECURSION_DEPTH)
329
+ return exhausted("recursion_depth");
330
+ const h = head(t);
331
+ if (h === undefined)
332
+ return NOT_WF;
333
+ const { ctor, args } = h;
334
+ if (isLeafCtor(ctor))
335
+ return leafWellFormed(t) ? CONFORMS : NOT_WF;
336
+ const wfAll = (ts, p) => kleeneAll(ts.map((ct) => diagnoseWfIn(ct, bound, p, depth + 1)));
337
+ switch (ctor) {
338
+ case "tuple":
339
+ return wfAll(args, []);
340
+ case "seq":
341
+ return args.length !== 1 ? NOT_WF : diagnoseWfIn(args[0], bound, [], depth + 1);
342
+ case "compound":
343
+ if (args.length < 1 || atomBytesOf(args[0]) === undefined)
344
+ return NOT_WF;
345
+ return wfAll(args.slice(1), []);
346
+ case "list-of":
347
+ case "set-of":
348
+ return args.length !== 1 ? NOT_WF : diagnoseWfIn(args[0], bound, [], depth + 1);
349
+ case "map-of":
350
+ if (args.length !== 2)
351
+ return NOT_WF;
352
+ return kleeneAll([
353
+ diagnoseWfIn(args[0], bound, [], depth + 1),
354
+ diagnoseWfIn(args[1], bound, [], depth + 1),
355
+ ]);
356
+ case "union":
357
+ case "and":
358
+ return wfAll(args, pending);
359
+ case "not":
360
+ return args.length !== 1
361
+ ? NOT_WF
362
+ : diagnoseWfIn(args[0], bound, pending, depth + 1);
363
+ case "rec": {
364
+ if (args.length !== 2)
365
+ return NOT_WF;
366
+ const name = atomStringOf(args[0]);
367
+ if (name === undefined)
368
+ return NOT_WF;
369
+ return diagnoseWfIn(args[1], [...bound, name], [...pending, name], depth + 1);
370
+ }
371
+ case "ref": {
372
+ if (args.length !== 1)
373
+ return NOT_WF;
374
+ const name = atomStringOf(args[0]);
375
+ return name !== undefined && bound.includes(name) && !pending.includes(name)
376
+ ? CONFORMS
377
+ : NOT_WF;
378
+ }
379
+ case "record": {
380
+ if (args.length < 1)
381
+ return NOT_WF;
382
+ const mode = atomStringOf(args[0]);
383
+ if (mode !== "open" && mode !== "closed")
384
+ return NOT_WF;
385
+ const names = new Set();
386
+ const outcomes = [];
387
+ for (const field of args.slice(1)) {
388
+ const fd = readFieldDescriptor(field);
389
+ if (fd === undefined || names.has(fd.name))
390
+ return NOT_WF;
391
+ names.add(fd.name);
392
+ outcomes.push(diagnoseWfIn(fd.ty, bound, [], depth + 1));
393
+ }
394
+ return kleeneAll(outcomes);
395
+ }
396
+ }
397
+ return NOT_WF;
398
+ }
399
+ //# sourceMappingURL=diagnose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/diagnose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Public descriptor checker API. Diagnostic implementation helpers stay internal. */
2
+ export { wf, conforms, NAMESPACE, MAX_RECURSION_DEPTH, ATOM_LEN_BOUND_MIN, ATOM_LEN_BOUND_MAX, type Value, } from "./core.js";
@@ -0,0 +1,3 @@
1
+ /** Public descriptor checker API. Diagnostic implementation helpers stay internal. */
2
+ export { wf, conforms, NAMESPACE, MAX_RECURSION_DEPTH, ATOM_LEN_BOUND_MIN, ATOM_LEN_BOUND_MAX, } from "./core.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EACL,EAAE,EACF,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,57 @@
1
1
  {
2
2
  "name": "@bitspark/horos",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.7.0",
4
+ "description": "Types and schemas over ontos values: descriptor well-formedness, conformance and diagnostics.",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/Bitspark/horos.git",
10
+ "directory": "core/ts"
11
+ },
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/",
14
+ "access": "public",
15
+ "provenance": true
16
+ },
17
+ "files": [
18
+ "dist/src",
19
+ "LICENSE",
20
+ "LICENSE-MIT",
21
+ "NOTICE"
22
+ ],
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/src/index.d.ts",
26
+ "import": "./dist/src/index.js"
27
+ },
28
+ "./diagnose": {
29
+ "types": "./dist/src/diagnose.d.ts",
30
+ "import": "./dist/src/diagnose.js"
31
+ },
32
+ "./package.json": "./package.json"
33
+ },
34
+ "bin": {
35
+ "horos-conform": "./dist/src/cli.js"
36
+ },
37
+ "scripts": {
38
+ "build": "tsc -p tsconfig.json",
39
+ "typecheck": "tsc --noEmit -p tsconfig.json",
40
+ "lint": "eslint . && prettier --check .",
41
+ "test": "npm run build && node --test dist/test/*.test.js"
42
+ },
43
+ "dependencies": {
44
+ "@bitspark/ontos-core": "0.16.0",
45
+ "@bitspark/ontos-codec": "0.16.0",
46
+ "@bitspark/ontos-data": "0.16.0"
47
+ },
48
+ "devDependencies": {
49
+ "typescript": "^5.7",
50
+ "@types/node": "^22",
51
+ "eslint": "9.39.4",
52
+ "@eslint/js": "9.39.4",
53
+ "@typescript-eslint/parser": "8.60.1",
54
+ "@typescript-eslint/eslint-plugin": "8.60.1",
55
+ "prettier": "3.8.3"
56
+ }
57
+ }