@pie-players/tts-server-sc 0.3.43 → 0.3.44
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchoolCityServerProvider.js","sourceRoot":"","sources":["../src/SchoolCityServerProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SchoolCityServerProvider.js","sourceRoot":"","sources":["../src/SchoolCityServerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EACN,eAAe,EAMf,QAAQ,EACR,YAAY,GAGZ,MAAM,8BAA8B,CAAC;AA8EtC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,MAAM,kBAAkB,GAAwB,QAAQ,CAAC;AACzD,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAEtC,gEAAgE;AAChE,0EAA0E;AAC1E,mEAAmE;AACnE,2DAA2D;AAC3D,MAAM,gCAAgC,GAAa;IAClD,sBAAsB;IACtB,kBAAkB;IAClB,+BAA+B;IAC/B,8BAA8B;IAC9B,0BAA0B;IAC1B,oCAAoC;CACpC,CAAC;AAEF,kEAAkE;AAClE,sEAAsE;AACtE,0DAA0D;AAC1D,MAAM,yBAAyB,GAAa;IAC3C,cAAc;IACd,uBAAuB;IACvB,qBAAqB;IACrB,sBAAsB;IACtB,4BAA4B;IAC5B,6CAA6C;IAC7C,4BAA4B;IAC5B,OAAO;IACP,mBAAmB;IACnB,SAAS;IACT,SAAS;IACT,kBAAkB;CAClB,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAiB,EAAE;IAC5D,mEAAmE;IACnE,2DAA2D;IAC3D,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACJ,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,aAAa;QAAE,OAAO,IAAI,CAAC;IAC/E,OAAO;QACN,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI;QACrB,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI;QACrB,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI;QACpB,KAAK,GAAG,IAAI;KACZ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,CAAC,QAAgB,EAAU,EAAE;IACpE,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/D,kEAAkE;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACpD,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAC1B,QAAgB,EAChB,QAAkB,EACR,EAAE;IACZ,MAAM,UAAU,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,IAAI,aAAa;QAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACpC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CACnD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAW,EAAE,CAC7D,kBAAkB,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;AAEhE,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAW,EAAE,CACvD,kBAAkB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;AAgBzD,MAAM,kBAAkB,GAAG,CAC1B,MAAgC,EAChC,OAAe,EACO,EAAE;IACxB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC1D,IAAI,CAAC;gBACJ,eAAe,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACR,qDAAqD;YACtD,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACb,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACR,8DAA8D;QAC/D,CAAC;IACF,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,MAAM,wBAAwB,GAC7B,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,eAAe;QAC5C,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC;QAC5B,CAAC,CAAC,IAAI,CAAC;IAET,OAAO;QACN,eAAe;QACf,aAAa;QACb,wBAAwB;KACxB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAA2B,EAAY,EAAE;IAChE,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,eAAe;QAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,aAAa;YAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACrC,YAAY,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC5B,MAAW,EACX,MAA2B,EACjB,EAAE;IACZ,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;QACrC,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,IACC,iBAAiB,KAAK,IAAI;YAC1B,iBAAiB,KAAK,MAAM,CAAC,wBAAwB,EACpD,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IACD,+DAA+D;IAC/D,uEAAuE;IACvE,OAAO,CACN,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC;QACjC,MAAM,CAAC,aAAa,KAAK,IAAI;QAC7B,MAAM,CAAC,wBAAwB,KAAK,IAAI;QACxC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,CACtC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACxB,MAAc,EACd,MAAgC,EAChC,OAAe,EACT,EAAE;IACR,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,2CAA2C,EAC3C,EAAE,GAAG,EAAE,MAAM,EAAE,EACf,gBAAgB,CAChB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,mDAAmD,MAAM,CAAC,QAAQ,EAAE,EACpE,EAAE,GAAG,EAAE,MAAM,EAAE,EACf,gBAAgB,CAChB,CAAC;IACH,CAAC;IACD,sEAAsE;IACtE,oEAAoE;IACpE,IAAI,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,4DAA4D,EAC5D,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAC1C,gBAAgB,CAChB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,sBAAsB,KAAK,KAAK,IAAI,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,0DAA0D,EAC1D,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAC1C,gBAAgB,CAChB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,oDAAoD,MAAM,CAAC,MAAM,EAAE,EACnE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,EAChD,gBAAgB,CAChB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,EAC1C,UAAe,EACf,MAAgC,EAChC,OAAe,EACf,SAAoB,EACpB,IAAiB,EACG,EAAE;IACtB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC5B,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,IAAI,2BAA2B,CAAC,CACnE,CAAC;IACF,IAAI,OAAO,GAAG,UAAU,CAAC;IACzB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;YACpD,GAAG,IAAI;YACP,QAAQ,EAAE,QAAQ;SAClB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;QACnE,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,gDAAgD,EAChD,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,EACpD,gBAAgB,CAChB,CAAC;QACH,CAAC;QACD,IAAI,OAAY,CAAC;QACjB,IAAI,CAAC;YACJ,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,+CAA+C,EAC/C,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,EACtC,gBAAgB,CAChB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,8CAA8C;IAC9C,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,gDAAgD,EAChD,SAAS,EACT,gBAAgB,CAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAc,EAAiB,EAAE;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAmB,EAAgB,EAAE,CAC7D,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC5D,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAChE,OAAO,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEJ,MAAM,iBAAiB,GAAG,KAAK,EAC9B,QAAkB,EACiB,EAAE;IACrC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACzB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAE/E,MAAM,WAAW,GAAG,CACnB,OAA0B,EAC1B,QAA6B,EACP,EAAE;IACxB,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAA4B,CAAC;IACnF,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC;IAC3C,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACzE,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC;IAC1D,IAAI,IAAI,IAAI,GAAG;QAAE,OAAO,MAAM,CAAC;IAC/B,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAClB,OAA0B,EAC1B,QAAgB,EACP,EAAE;IACX,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAA4B,CAAC;IACnF,IAAI,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACnF,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CACnB,OAA0B,EAC1B,QAAiB,EACP,EAAE;IACZ,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAA4B,CAAC;IACnF,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,eAAe,CAAC,KAAK,CAAC;IAC9B,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,0BAA0B,GAAG,CAAC,KAAa,EAAU,EAAE;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,SAAS,GAAG,iCAAiC,CAAC;IACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAgB,EAAE;IACzD,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;YAC9D,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YACpD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI;gBAAE,SAAS;YAC9D,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,MAAM;gBACZ,KAAK;gBACL,GAAG;gBACH,KAAK;aACL,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACR,4DAA4D;QAC7D,CAAC;IACF,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,KAAmB,EAAgB,EAAE;IACpE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,WAAW,GAChB,MAAM,CAAC,MAAM,GAAG,CAAC;QAChB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,oBAAoB,GACzB,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAClD,CAAC,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,oBAAoB;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAmB,EAAE,WAAmB,EAAU,EAAE;IAChF,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACjC,IAAI,KAAK,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;YAAE,MAAM;IACnC,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAClC,KAAmB,EACnB,WAAmB,EACJ,EAAE;IACjB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACvD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAI,MAAM,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,GAAG,IAAI;QACP,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK;KACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAmB,EAAE,WAAmB,EAAgB,EAAE;IAClF,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;IACtC,OAAO,eAAe,CACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAChC,CAAC,CAAC,CACF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,WAAmB,EAAgB,EAAE;IAC/E,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnE,OAAO,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,OAAO,wBAAyB,SAAQ,eAAe;IACnD,UAAU,GAAG,gBAAgB,CAAC;IAC9B,YAAY,GAAG,gBAAgB,CAAC;IAChC,OAAO,GAAG,OAAO,CAAC;IAEnB,OAAO,GAAG,EAAE,CAAC;IACb,MAAM,GAAG,EAAE,CAAC;IACZ,MAAM,GAAG,EAAE,CAAC;IACZ,eAAe,GAAG,gBAAgB,CAAC;IACnC,gBAAgB,GAAG,kBAAkB,CAAC;IACtC,YAAY,GAAG,aAAa,CAAC;IAC7B,gBAAgB,GAAG,0BAA0B,CAAC;IAC9C,SAAS,GAAc,KAAK,CAAC;IAErC,KAAK,CAAC,UAAU,CAAC,MAAgC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,oBAAoB,EACjC,gCAAgC,EAChC,SAAS,EACT,IAAI,CAAC,UAAU,CACf,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,oBAAoB,EACjC,+BAA+B,EAC/B,SAAS,EACT,IAAI,CAAC,UAAU,CACf,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,oBAAoB,EACjC,+BAA+B,EAC/B,SAAS,EACT,IAAI,CAAC,UAAU,CACf,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,gBAAgB,CAAC;QAClE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,kBAAkB,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,aAAa,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;QAC9E,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,aAAa;QAC1B,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC;aACpB,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;aACpC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aACtB,WAAW,EAAE;aACb,iBAAiB,CAAC,IAAI,CAAC;aACvB,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEO,sBAAsB,CAC7B,OAA0B;QAE1B,MAAM,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,OAAO,GAAgC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACjF,IAAI,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACjD,OAAO,OAAO,CAAC;IAChB,CAAC;IAEO,WAAW;QAClB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5E,OAAO;YACN,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;SAClC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAChC,OAA0B;QAE1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;iBAChC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAiC,CAAC;YACjF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAC/B,CAAC,CAAC,IAAI,CAAC,OAAO;oBACd,CAAC,CAAC,gCAAgC,QAAQ,CAAC,MAAM,GAAG,EACrD,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EACjC,IAAI,CAAC,UAAU,CACf,CAAC;YACH,CAAC;YACD,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,sDAAsD,EACtD,EAAE,IAAI,EAAE,EACR,IAAI,CAAC,UAAU,CACf,CAAC;YACH,CAAC;YAED,IAAI,WAAW,GAAiB,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAChC,IAAI,EACJ,IAAI,CAAC,MAAkC,EACvC,IAAI,CAAC,OAAO,CACZ,CAAC;gBACF,MAAM,aAAa,GAAG,MAAM,6BAA6B,CACxD,QAAQ,EACR,IAAI,CAAC,MAAkC,EACvC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAC1B,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;oBACvB,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,kCAAkC,aAAa,CAAC,MAAM,GAAG,EACzD,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,EACtC,IAAI,CAAC,UAAU,CACf,CAAC;gBACH,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC5C,WAAW,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO;gBACN,YAAY;gBACZ,IAAI;gBACJ,WAAW;aACX,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,QAAQ;gBAAE,MAAM,KAAK,CAAC;YAC3C,MAAM,OAAO,GACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC;YAC/E,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,gCAAgC,OAAO,EAAE,EACzC,EAAE,KAAK,EAAE,EACT,IAAI,CAAC,UAAU,CACf,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,OAAO,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA0B;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,gBAAgB,CAChC,YAAY,EACZ,IAAI,CAAC,MAAkC,EACvC,IAAI,CAAC,OAAO,CACZ,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,aAAuB,CAAC;QAC5B,IAAI,CAAC;YACJ,aAAa,GAAG,MAAM,6BAA6B,CAClD,QAAQ,EACR,IAAI,CAAC,MAAkC,EACvC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAC/B,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,YAAY,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,QAAQ,CACjB,YAAY,CAAC,cAAc,EAC3B,2CAA2C,aAAa,CAAC,MAAM,GAAG,EAClE,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,EAC9C,IAAI,CAAC,UAAU,CACf,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO;YACN,KAAK;YACL,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,YAAY;YACtE,WAAW;YACX,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;gBACjC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI;gBACzC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;gBAC9B,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC;SACD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAA2B;QAC1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,eAAe;QACd,OAAO;YACN,QAAQ,EAAE;gBACT,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,KAAK;gBACpB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,KAAK;gBACrB,sBAAsB,EAAE,IAAI;gBAC5B,aAAa,EAAE,IAAI;aACnB;YACD,UAAU,EAAE;gBACX,mBAAmB,EAAE,IAAI;gBACzB,gBAAgB,EAAE,CAAC,KAAK,CAAC;gBACzB,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE;oBACjB,YAAY,EAAE,YAAY;oBAC1B,iBAAiB,EAAE,IAAI;iBACvB;aACD;SACD,CAAC;IACH,CAAC;CACD","sourcesContent":["import { SignJWT } from \"jose\";\nimport { getDomain } from \"tldts\";\n\nimport {\n\tBaseTTSProvider,\n\ttype GetVoicesOptions,\n\ttype ServerProviderCapabilities,\n\ttype SpeechMark,\n\ttype SynthesizeRequest,\n\ttype SynthesizeResponse,\n\tTTSError,\n\tTTSErrorCode,\n\ttype TTSServerConfig,\n\ttype Voice,\n} from \"@pie-players/tts-server-core\";\n\ntype SchoolCitySpeedRate = \"slow\" | \"medium\" | \"fast\";\n\ntype SchoolCitySynthesizeRequest = {\n\ttext: string;\n\tspeedRate: SchoolCitySpeedRate;\n\tlang_id: string;\n\tcache: boolean;\n\tvoice?: string;\n};\n\ntype SchoolCitySynthesizeResponse = {\n\taudioContent?: unknown;\n\tword?: unknown;\n\tmessage?: unknown;\n\terror?: unknown;\n};\n\ntype FetchLike = typeof fetch;\n\nexport interface SchoolCityProviderConfig extends TTSServerConfig {\n\tbaseUrl: string;\n\tapiKey: string;\n\tissuer: string;\n\tdefaultLanguage?: string;\n\tdefaultSpeedRate?: SchoolCitySpeedRate;\n\tdefaultCache?: boolean;\n\trequestTimeoutMs?: number;\n\tfetchImpl?: FetchLike;\n\t/**\n\t * Explicit allow-list of origins that upstream-returned `audioContent`\n\t * and `word` URLs may use. When provided, only exact origin matches\n\t * are accepted — this is the tightest setting and recommended for\n\t * production (gives an auditable, typo-resistant declaration of\n\t * which CDNs the provider is permitted to reach).\n\t *\n\t * When omitted, the provider falls back to a zero-config default:\n\t * allow `baseUrl`'s origin plus any hostname on the same registrable\n\t * domain (eTLD+1) as `baseUrl`. This matches the common \"service at\n\t * `x.vendor.tld`, CDN at `y.vendor.tld`\" deployment pattern without\n\t * weakening the private-host / metadata / scheme / redirect defenses\n\t * (all of which remain active regardless of this setting).\n\t *\n\t * To force strict single-origin behavior (no registrable-domain\n\t * fallback), pass `assetOrigins: [baseUrl]`.\n\t */\n\tassetOrigins?: string[];\n\t/**\n\t * When true (default), asset URLs that resolve to RFC1918 / loopback /\n\t * link-local / IPv6 unique-local hosts are rejected as a defense against\n\t * SSRF. Set to `false` only for deployments where the SchoolCity\n\t * service legitimately lives on a private network (on-prem CDN,\n\t * in-cluster K8s service, VPC endpoint, air-gapped install). When you\n\t * disable this guard, always also pass an explicit `assetOrigins`\n\t * allow-list so a compromised upstream response cannot redirect the\n\t * fetch to arbitrary internal hosts.\n\t *\n\t * Cloud-metadata / IMDS endpoints (169.254.169.254, fd00:ec2::254,\n\t * metadata.google.internal, metadata.azure.internal,\n\t * metadata.packet.net, metadata.oci.oraclecloud.com) are always\n\t * blocked regardless of this flag — there is no legitimate TTS-asset\n\t * use case for those, and they are the primary SSRF payoff target.\n\t */\n\tblockPrivateAssetHosts?: boolean;\n\t/**\n\t * Maximum number of HTTP redirects to follow when dereferencing\n\t * upstream-returned asset URLs. Defaults to 2.\n\t */\n\tmaxAssetRedirects?: number;\n}\n\nexport interface SchoolCitySynthesizeAssetsResult {\n\taudioContent: string;\n\tword: string;\n\tspeechMarks: SpeechMark[];\n}\n\nconst DEFAULT_LANGUAGE = \"en-US\";\nconst DEFAULT_SPEED_RATE: SchoolCitySpeedRate = \"medium\";\nconst DEFAULT_CACHE = true;\nconst DEFAULT_REQUEST_TIMEOUT_MS = 15000;\nconst DEFAULT_MAX_ASSET_REDIRECTS = 2;\n\n// Cloud-metadata / IMDS endpoints are ALWAYS blocked, even when\n// `blockPrivateAssetHosts` is `false`. These have no legitimate TTS-asset\n// use case and are the primary SSRF payoff target (they return IAM\n// credentials, instance tokens, and provisioning secrets).\nconst CLOUD_METADATA_HOSTNAME_PATTERNS: RegExp[] = [\n\t/^169\\.254\\.169\\.254$/,\n\t/^fd00:ec2::254$/i,\n\t/^metadata\\.google\\.internal$/i,\n\t/^metadata\\.azure\\.internal$/i,\n\t/^metadata\\.packet\\.net$/i,\n\t/^metadata\\.oci\\.oraclecloud\\.com$/i,\n];\n\n// Private / internal-network patterns. Blocked by default, can be\n// opted-out via `blockPrivateAssetHosts: false` for deployments where\n// the TTS service legitimately runs on a private network.\nconst PRIVATE_HOSTNAME_PATTERNS: RegExp[] = [\n\t/^localhost$/i,\n\t/^127(?:\\.\\d{1,3}){3}$/,\n\t/^0(?:\\.\\d{1,3}){3}$/,\n\t/^10(?:\\.\\d{1,3}){3}$/,\n\t/^192\\.168(?:\\.\\d{1,3}){2}$/,\n\t/^172\\.(?:1[6-9]|2\\d|3[01])(?:\\.\\d{1,3}){2}$/,\n\t/^169\\.254(?:\\.\\d{1,3}){2}$/,\n\t/^::1$/,\n\t/^0:0:0:0:0:0:0:1$/,\n\t/^fe80:/i,\n\t/^fc00:/i,\n\t/^fd[0-9a-f]{2}:/i,\n];\n\nconst ipv4BareToDotted = (hostname: string): string | null => {\n\t// Reject obviously non-numeric inputs fast; numeric IPv4 encodings\n\t// (bare decimal, hex, or octal) are a classic SSRF bypass.\n\tif (!/^(?:0x[0-9a-f]+|0[0-7]*|\\d+)$/i.test(hostname)) return null;\n\tlet asInt: number;\n\ttry {\n\t\tasInt = Number.parseInt(hostname, hostname.startsWith(\"0x\") ? 16 : 10);\n\t} catch {\n\t\treturn null;\n\t}\n\tif (!Number.isFinite(asInt) || asInt < 0 || asInt > 0xff_ff_ff_ff) return null;\n\treturn [\n\t\t(asInt >>> 24) & 0xff,\n\t\t(asInt >>> 16) & 0xff,\n\t\t(asInt >>> 8) & 0xff,\n\t\tasInt & 0xff,\n\t].join(\".\");\n};\n\nconst normalizeHostnameForSafetyCheck = (hostname: string): string => {\n\tlet host = hostname.replace(/^\\[|\\]$/g, \"\").replace(/\\.$/, \"\");\n\t// Unmap IPv4-in-IPv6 (e.g. `::ffff:127.0.0.1` / `::ffff:7f00:1`).\n\tconst mapped = host.match(/^::ffff:([0-9a-f.]+)$/i);\n\tif (mapped) {\n\t\tconst inner = mapped[1];\n\t\tif (/^\\d+\\.\\d+\\.\\d+\\.\\d+$/.test(inner)) {\n\t\t\thost = inner;\n\t\t}\n\t}\n\treturn host;\n};\n\nconst hostnameMatchesAny = (\n\thostname: string,\n\tpatterns: RegExp[],\n): boolean => {\n\tconst normalized = normalizeHostnameForSafetyCheck(hostname);\n\tconst numericDotted = ipv4BareToDotted(normalized);\n\tconst candidates = [normalized.toLowerCase()];\n\tif (numericDotted) candidates.push(numericDotted);\n\treturn candidates.some((candidate) =>\n\t\tpatterns.some((pattern) => pattern.test(candidate)),\n\t);\n};\n\nconst hostnameIsCloudMetadata = (hostname: string): boolean =>\n\thostnameMatchesAny(hostname, CLOUD_METADATA_HOSTNAME_PATTERNS);\n\nconst hostnameIsPrivate = (hostname: string): boolean =>\n\thostnameMatchesAny(hostname, PRIVATE_HOSTNAME_PATTERNS);\n\ninterface ResolvedAssetPolicy {\n\t/** Explicit origin allow-list (empty when host did not configure one). */\n\texplicitOrigins: Set<string>;\n\t/** Origin of `baseUrl`; always permitted. */\n\tbaseUrlOrigin: string | null;\n\t/**\n\t * Registrable domain (eTLD+1) of `baseUrl`. Present only when\n\t * `explicitOrigins` is empty and `baseUrl`'s hostname has a recognised\n\t * public suffix. When present, any URL whose hostname resolves to the\n\t * same registrable domain is permitted in addition to `baseUrlOrigin`.\n\t */\n\tbaseUrlRegistrableDomain: string | null;\n}\n\nconst resolveAssetPolicy = (\n\tconfig: SchoolCityProviderConfig,\n\tbaseUrl: string,\n): ResolvedAssetPolicy => {\n\tconst explicitOrigins = new Set<string>();\n\tif (Array.isArray(config.assetOrigins)) {\n\t\tfor (const raw of config.assetOrigins) {\n\t\t\tif (typeof raw !== \"string\" || raw.length === 0) continue;\n\t\t\ttry {\n\t\t\t\texplicitOrigins.add(new URL(raw).origin);\n\t\t\t} catch {\n\t\t\t\t// Ignore malformed origins; they simply won't match.\n\t\t\t}\n\t\t}\n\t}\n\n\tlet baseUrlOrigin: string | null = null;\n\tlet baseUrlHostname: string | null = null;\n\tif (baseUrl) {\n\t\ttry {\n\t\t\tconst parsed = new URL(baseUrl);\n\t\t\tbaseUrlOrigin = parsed.origin;\n\t\t\tbaseUrlHostname = parsed.hostname;\n\t\t} catch {\n\t\t\t// baseUrl validated at initialize(); unreachable in practice.\n\t\t}\n\t}\n\n\t// Only derive a registrable-domain fallback when the host did NOT pass\n\t// an explicit allow-list. Explicit config always wins and stays strict.\n\tconst baseUrlRegistrableDomain =\n\t\texplicitOrigins.size === 0 && baseUrlHostname\n\t\t\t? getDomain(baseUrlHostname)\n\t\t\t: null;\n\n\treturn {\n\t\texplicitOrigins,\n\t\tbaseUrlOrigin,\n\t\tbaseUrlRegistrableDomain,\n\t};\n};\n\nconst describePolicy = (policy: ResolvedAssetPolicy): string[] => {\n\tconst descriptions: string[] = [];\n\tfor (const origin of policy.explicitOrigins) descriptions.push(origin);\n\tif (policy.explicitOrigins.size === 0) {\n\t\tif (policy.baseUrlOrigin) descriptions.push(policy.baseUrlOrigin);\n\t\tif (policy.baseUrlRegistrableDomain) {\n\t\t\tdescriptions.push(`*.${policy.baseUrlRegistrableDomain}`);\n\t\t}\n\t}\n\treturn descriptions;\n};\n\nconst isUrlAllowedByPolicy = (\n\tparsed: URL,\n\tpolicy: ResolvedAssetPolicy,\n): boolean => {\n\tif (policy.explicitOrigins.size > 0) {\n\t\treturn policy.explicitOrigins.has(parsed.origin);\n\t}\n\tif (policy.baseUrlOrigin && parsed.origin === policy.baseUrlOrigin) {\n\t\treturn true;\n\t}\n\tif (policy.baseUrlRegistrableDomain) {\n\t\tconst parsedRegistrable = getDomain(parsed.hostname);\n\t\tif (\n\t\t\tparsedRegistrable !== null &&\n\t\t\tparsedRegistrable === policy.baseUrlRegistrableDomain\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// Fall back to \"baseUrl origin only\" when PSL lookup yields no\n\t// registrable domain for baseUrl (e.g. IP literal, single-label host).\n\treturn (\n\t\tpolicy.explicitOrigins.size === 0 &&\n\t\tpolicy.baseUrlOrigin !== null &&\n\t\tpolicy.baseUrlRegistrableDomain === null &&\n\t\tparsed.origin === policy.baseUrlOrigin\n\t);\n};\n\nconst validateAssetUrl = (\n\trawUrl: string,\n\tconfig: SchoolCityProviderConfig,\n\tbaseUrl: string,\n): URL => {\n\tlet parsed: URL;\n\ttry {\n\t\tparsed = new URL(rawUrl);\n\t} catch {\n\t\tthrow new TTSError(\n\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\"SchoolCity returned a malformed asset URL\",\n\t\t\t{ url: rawUrl },\n\t\t\t\"schoolcity-tts\",\n\t\t);\n\t}\n\tif (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\n\t\tthrow new TTSError(\n\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t`SchoolCity asset URL uses unsupported protocol: ${parsed.protocol}`,\n\t\t\t{ url: rawUrl },\n\t\t\t\"schoolcity-tts\",\n\t\t);\n\t}\n\t// Cloud-metadata / IMDS is always blocked, even when the private-host\n\t// guard is intentionally disabled for internal-network deployments.\n\tif (hostnameIsCloudMetadata(parsed.hostname)) {\n\t\tthrow new TTSError(\n\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\"SchoolCity asset URL resolves to a cloud metadata endpoint\",\n\t\t\t{ url: rawUrl, hostname: parsed.hostname },\n\t\t\t\"schoolcity-tts\",\n\t\t);\n\t}\n\tif (config.blockPrivateAssetHosts !== false && hostnameIsPrivate(parsed.hostname)) {\n\t\tthrow new TTSError(\n\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\"SchoolCity asset URL resolves to a private/internal host\",\n\t\t\t{ url: rawUrl, hostname: parsed.hostname },\n\t\t\t\"schoolcity-tts\",\n\t\t);\n\t}\n\tconst policy = resolveAssetPolicy(config, baseUrl);\n\tif (!isUrlAllowedByPolicy(parsed, policy)) {\n\t\tthrow new TTSError(\n\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t`SchoolCity asset URL origin is not allow-listed: ${parsed.origin}`,\n\t\t\t{ url: rawUrl, allowed: describePolicy(policy) },\n\t\t\t\"schoolcity-tts\",\n\t\t);\n\t}\n\treturn parsed;\n};\n\nconst fetchAssetWithManualRedirects = async (\n\tinitialUrl: URL,\n\tconfig: SchoolCityProviderConfig,\n\tbaseUrl: string,\n\tfetchImpl: FetchLike,\n\tinit: RequestInit,\n): Promise<Response> => {\n\tconst maxRedirects = Math.max(\n\t\t0,\n\t\tMath.floor(config.maxAssetRedirects ?? DEFAULT_MAX_ASSET_REDIRECTS),\n\t);\n\tlet current = initialUrl;\n\tfor (let hop = 0; hop <= maxRedirects; hop += 1) {\n\t\tconst response = await fetchImpl(current.toString(), {\n\t\t\t...init,\n\t\t\tredirect: \"manual\",\n\t\t});\n\t\tconst status = response.status;\n\t\tconst isRedirect = status >= 300 && status < 400 && status !== 304;\n\t\tif (!isRedirect) {\n\t\t\treturn response;\n\t\t}\n\t\tconst location = response.headers.get(\"location\");\n\t\tif (!location) {\n\t\t\treturn response;\n\t\t}\n\t\tif (hop === maxRedirects) {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\t\"SchoolCity asset redirect chain exceeded limit\",\n\t\t\t\t{ limit: maxRedirects, lastUrl: current.toString() },\n\t\t\t\t\"schoolcity-tts\",\n\t\t\t);\n\t\t}\n\t\tlet nextUrl: URL;\n\t\ttry {\n\t\t\tnextUrl = new URL(location, current);\n\t\t} catch {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\t\"SchoolCity asset redirect target is malformed\",\n\t\t\t\t{ from: current.toString(), location },\n\t\t\t\t\"schoolcity-tts\",\n\t\t\t);\n\t\t}\n\t\tcurrent = validateAssetUrl(nextUrl.toString(), config, baseUrl);\n\t}\n\t// Unreachable: loop either returns or throws.\n\tthrow new TTSError(\n\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\"SchoolCity asset fetch terminated unexpectedly\",\n\t\tundefined,\n\t\t\"schoolcity-tts\",\n\t);\n};\n\nconst asFiniteNumber = (value: unknown): number | null => {\n\tconst next = Number(value);\n\treturn Number.isFinite(next) ? next : null;\n};\n\nconst sortSpeechMarks = (marks: SpeechMark[]): SpeechMark[] =>\n\t[...marks].sort((left, right) => {\n\t\tif (left.time !== right.time) return left.time - right.time;\n\t\tif (left.start !== right.start) return left.start - right.start;\n\t\treturn left.end - right.end;\n\t});\n\nconst parseResponseBody = async (\n\tresponse: Response,\n): Promise<Record<string, unknown>> => {\n\tconst raw = await response.text();\n\tif (!raw) return {};\n\ttry {\n\t\treturn JSON.parse(raw) as Record<string, unknown>;\n\t} catch {\n\t\treturn { message: raw };\n\t}\n};\n\nconst normalizeEndpoint = (value: string): string => value.replace(/\\/+$/, \"\");\n\nconst toSpeedRate = (\n\trequest: SynthesizeRequest,\n\tfallback: SchoolCitySpeedRate,\n): SchoolCitySpeedRate => {\n\tconst providerOptions = (request.providerOptions || {}) as Record<string, unknown>;\n\tconst explicit = providerOptions.speedRate;\n\tif (explicit === \"slow\" || explicit === \"medium\" || explicit === \"fast\") {\n\t\treturn explicit;\n\t}\n\tconst rate = Number(request.rate ?? 1);\n\tif (!Number.isFinite(rate) || rate <= 0.95) return \"slow\";\n\tif (rate >= 1.5) return \"fast\";\n\treturn fallback;\n};\n\nconst toLanguage = (\n\trequest: SynthesizeRequest,\n\tfallback: string,\n): string => {\n\tconst providerOptions = (request.providerOptions || {}) as Record<string, unknown>;\n\tif (typeof providerOptions.lang_id === \"string\" && providerOptions.lang_id.trim()) {\n\t\treturn providerOptions.lang_id.trim();\n\t}\n\tif (typeof request.language === \"string\" && request.language.trim()) {\n\t\treturn request.language.trim();\n\t}\n\treturn fallback;\n};\n\nconst toCacheFlag = (\n\trequest: SynthesizeRequest,\n\tfallback: boolean,\n): boolean => {\n\tconst providerOptions = (request.providerOptions || {}) as Record<string, unknown>;\n\tif (typeof providerOptions.cache === \"boolean\") {\n\t\treturn providerOptions.cache;\n\t}\n\treturn fallback;\n};\n\n/**\n * SC wraps incoming content in its own SSML envelope.\n * If caller provides full <speak>...</speak>, send only inner body to avoid nested roots.\n */\nconst normalizeTextForSchoolCity = (input: string): string => {\n\tconst text = String(input || \"\").trim();\n\tif (!text) return text;\n\tconst fullSpeak = /^\\s*<speak[\\s\\S]*<\\/speak>\\s*$/i;\n\tif (!fullSpeak.test(text)) return text;\n\tconst withoutOpen = text.replace(/^\\s*<speak[^>]*>/i, \"\");\n\treturn withoutOpen.replace(/<\\/speak>\\s*$/i, \"\").trim();\n};\n\nconst parseWordMarksJsonl = (raw: string): SpeechMark[] => {\n\tconst marks: SpeechMark[] = [];\n\tfor (const line of raw.split(/\\r?\\n/)) {\n\t\tconst trimmed = line.trim();\n\t\tif (!trimmed) continue;\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(trimmed) as Record<string, unknown>;\n\t\t\tif (parsed.type && parsed.type !== \"word\") continue;\n\t\t\tconst time = asFiniteNumber(parsed.time);\n\t\t\tconst start = asFiniteNumber(parsed.start);\n\t\t\tconst end = asFiniteNumber(parsed.end);\n\t\t\tif (time === null || start === null || end === null) continue;\n\t\t\tconst value = typeof parsed.value === \"string\" ? parsed.value : \"\";\n\t\t\tmarks.push({\n\t\t\t\ttime,\n\t\t\t\ttype: \"word\",\n\t\t\t\tstart,\n\t\t\t\tend,\n\t\t\t\tvalue,\n\t\t\t});\n\t\t} catch {\n\t\t\t// Ignore malformed JSONL rows while preserving valid marks.\n\t\t}\n\t}\n\treturn sortSpeechMarks(marks);\n};\n\nconst normalizeMarkTimeUnits = (marks: SpeechMark[]): SpeechMark[] => {\n\tif (marks.length < 2) return marks;\n\tconst times = marks.map((mark) => mark.time).filter((time) => time >= 0);\n\tconst maxTime = times.length ? Math.max(...times) : 0;\n\tconst deltas: number[] = [];\n\tfor (let index = 1; index < times.length; index += 1) {\n\t\tconst delta = times[index] - times[index - 1];\n\t\tif (delta > 0 && Number.isFinite(delta)) deltas.push(delta);\n\t}\n\tconst medianDelta =\n\t\tdeltas.length > 0\n\t\t\t? [...deltas].sort((a, b) => a - b)[Math.floor(deltas.length / 2)]\n\t\t\t: 0;\n\tconst shapeSuggestsSeconds =\n\t\t(maxTime > 0 && maxTime < 100 && marks.length > 3) ||\n\t\t(medianDelta > 0 && medianDelta < 10);\n\tif (!shapeSuggestsSeconds) return marks;\n\treturn marks.map((mark) => ({ ...mark, time: mark.time * 1000 }));\n};\n\nconst estimateOffsetShift = (marks: SpeechMark[], requestText: string): number => {\n\tif (!marks.length || !requestText.length) return 0;\n\tconst textLower = requestText.toLowerCase();\n\tconst candidates: number[] = [];\n\tlet cursor = 0;\n\tfor (const mark of marks) {\n\t\tconst token = mark.value.trim().toLowerCase();\n\t\tif (!token) continue;\n\t\tconst found = textLower.indexOf(token, cursor);\n\t\tif (found < 0) continue;\n\t\tconst delta = mark.start - found;\n\t\tif (delta >= 0) candidates.push(delta);\n\t\tcursor = found + token.length;\n\t\tif (candidates.length >= 8) break;\n\t}\n\tif (candidates.length > 0) {\n\t\tconst ordered = [...candidates].sort((a, b) => a - b);\n\t\treturn ordered[Math.floor(ordered.length / 2)];\n\t}\n\treturn Math.max(0, Math.floor(marks[0].start));\n};\n\nconst rebaseOffsetsToRequestText = (\n\tmarks: SpeechMark[],\n\trequestText: string,\n): SpeechMark[] => {\n\tif (!marks.length || !requestText.length) return marks;\n\tconst textLength = requestText.length;\n\tconst maxEnd = Math.max(...marks.map((mark) => mark.end));\n\tif (maxEnd <= textLength + 2) return marks;\n\tconst shift = estimateOffsetShift(marks, requestText);\n\tif (shift <= 0) return marks;\n\treturn marks.map((mark) => ({\n\t\t...mark,\n\t\tstart: mark.start - shift,\n\t\tend: mark.end - shift,\n\t}));\n};\n\nconst clampMarkRanges = (marks: SpeechMark[], requestText: string): SpeechMark[] => {\n\tif (!requestText.length) return marks;\n\tconst textLength = requestText.length;\n\treturn sortSpeechMarks(\n\t\tmarks.map((mark) => {\n\t\t\tconst start = Math.max(0, Math.min(textLength, Math.floor(mark.start)));\n\t\t\tconst end = Math.max(start + 1, Math.min(textLength, Math.floor(mark.end)));\n\t\t\treturn { ...mark, start, end };\n\t\t}),\n\t);\n};\n\nconst normalizeSpeechMarks = (raw: string, requestText: string): SpeechMark[] => {\n\tconst parsed = parseWordMarksJsonl(raw);\n\tconst withTimes = normalizeMarkTimeUnits(parsed);\n\tconst rebased = rebaseOffsetsToRequestText(withTimes, requestText);\n\treturn clampMarkRanges(rebased, requestText);\n};\n\nexport class SchoolCityServerProvider extends BaseTTSProvider {\n\treadonly providerId = \"schoolcity-tts\";\n\treadonly providerName = \"SchoolCity TTS\";\n\treadonly version = \"1.0.0\";\n\n\tprivate baseUrl = \"\";\n\tprivate apiKey = \"\";\n\tprivate issuer = \"\";\n\tprivate defaultLanguage = DEFAULT_LANGUAGE;\n\tprivate defaultSpeedRate = DEFAULT_SPEED_RATE;\n\tprivate defaultCache = DEFAULT_CACHE;\n\tprivate requestTimeoutMs = DEFAULT_REQUEST_TIMEOUT_MS;\n\tprivate fetchImpl: FetchLike = fetch;\n\n\tasync initialize(config: SchoolCityProviderConfig): Promise<void> {\n\t\tif (!config.baseUrl?.trim()) {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.INITIALIZATION_ERROR,\n\t\t\t\t\"SchoolCity baseUrl is required\",\n\t\t\t\tundefined,\n\t\t\t\tthis.providerId,\n\t\t\t);\n\t\t}\n\t\tif (!config.apiKey?.trim()) {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.INITIALIZATION_ERROR,\n\t\t\t\t\"SchoolCity apiKey is required\",\n\t\t\t\tundefined,\n\t\t\t\tthis.providerId,\n\t\t\t);\n\t\t}\n\t\tif (!config.issuer?.trim()) {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.INITIALIZATION_ERROR,\n\t\t\t\t\"SchoolCity issuer is required\",\n\t\t\t\tundefined,\n\t\t\t\tthis.providerId,\n\t\t\t);\n\t\t}\n\n\t\tthis.config = config;\n\t\tthis.baseUrl = normalizeEndpoint(config.baseUrl);\n\t\tthis.apiKey = config.apiKey;\n\t\tthis.issuer = config.issuer;\n\t\tthis.defaultLanguage = config.defaultLanguage || DEFAULT_LANGUAGE;\n\t\tthis.defaultSpeedRate = config.defaultSpeedRate || DEFAULT_SPEED_RATE;\n\t\tthis.defaultCache = config.defaultCache ?? DEFAULT_CACHE;\n\t\tthis.requestTimeoutMs = config.requestTimeoutMs || DEFAULT_REQUEST_TIMEOUT_MS;\n\t\tthis.fetchImpl = config.fetchImpl || fetch;\n\t\tthis.initialized = true;\n\t}\n\n\tprivate async toBearerToken(): Promise<string> {\n\t\tconst secret = new TextEncoder().encode(this.apiKey);\n\t\treturn new SignJWT({})\n\t\t\t.setProtectedHeader({ alg: \"HS256\" })\n\t\t\t.setIssuer(this.issuer)\n\t\t\t.setIssuedAt()\n\t\t\t.setExpirationTime(\"5m\")\n\t\t\t.sign(secret);\n\t}\n\n\tprivate buildSchoolCityRequest(\n\t\trequest: SynthesizeRequest,\n\t): SchoolCitySynthesizeRequest {\n\t\tconst text = normalizeTextForSchoolCity(request.text);\n\t\tconst speedRate = toSpeedRate(request, this.defaultSpeedRate);\n\t\tconst lang_id = toLanguage(request, this.defaultLanguage);\n\t\tconst cache = toCacheFlag(request, this.defaultCache);\n\t\tconst payload: SchoolCitySynthesizeRequest = { text, speedRate, lang_id, cache };\n\t\tif (request.voice) payload.voice = request.voice;\n\t\treturn payload;\n\t}\n\n\tprivate withTimeout(): { signal: AbortSignal; clear: () => void } {\n\t\tconst controller = new AbortController();\n\t\tconst timeout = setTimeout(() => controller.abort(), this.requestTimeoutMs);\n\t\treturn {\n\t\t\tsignal: controller.signal,\n\t\t\tclear: () => clearTimeout(timeout),\n\t\t};\n\t}\n\n\tpublic async synthesizeWithAssets(\n\t\trequest: SynthesizeRequest,\n\t): Promise<SchoolCitySynthesizeAssetsResult> {\n\t\tthis.ensureInitialized();\n\t\tthis.validateRequest(request, this.getCapabilities());\n\t\tconst payload = this.buildSchoolCityRequest(request);\n\t\tconst token = await this.toBearerToken();\n\t\tconst timeout = this.withTimeout();\n\t\ttry {\n\t\t\tconst response = await this.fetchImpl(this.baseUrl, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders: {\n\t\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t},\n\t\t\t\tbody: JSON.stringify(payload),\n\t\t\t\tsignal: timeout.signal,\n\t\t\t});\n\t\t\tconst body = (await parseResponseBody(response)) as SchoolCitySynthesizeResponse;\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new TTSError(\n\t\t\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\t\ttypeof body.message === \"string\"\n\t\t\t\t\t\t? body.message\n\t\t\t\t\t\t: `SchoolCity synthesis failed (${response.status})`,\n\t\t\t\t\t{ status: response.status, body },\n\t\t\t\t\tthis.providerId,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst audioContent = typeof body.audioContent === \"string\" ? body.audioContent : \"\";\n\t\t\tconst word = typeof body.word === \"string\" ? body.word : \"\";\n\t\t\tif (!audioContent || !word) {\n\t\t\t\tthrow new TTSError(\n\t\t\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\t\t\"SchoolCity response missing audioContent or word URL\",\n\t\t\t\t\t{ body },\n\t\t\t\t\tthis.providerId,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet speechMarks: SpeechMark[] = [];\n\t\t\tif (request.includeSpeechMarks !== false) {\n\t\t\t\tconst marksUrl = validateAssetUrl(\n\t\t\t\t\tword,\n\t\t\t\t\tthis.config as SchoolCityProviderConfig,\n\t\t\t\t\tthis.baseUrl,\n\t\t\t\t);\n\t\t\t\tconst marksResponse = await fetchAssetWithManualRedirects(\n\t\t\t\t\tmarksUrl,\n\t\t\t\t\tthis.config as SchoolCityProviderConfig,\n\t\t\t\t\tthis.baseUrl,\n\t\t\t\t\tthis.fetchImpl,\n\t\t\t\t\t{ signal: timeout.signal },\n\t\t\t\t);\n\t\t\t\tif (!marksResponse.ok) {\n\t\t\t\t\tthrow new TTSError(\n\t\t\t\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\t\t\t`SchoolCity marks fetch failed (${marksResponse.status})`,\n\t\t\t\t\t\t{ word, status: marksResponse.status },\n\t\t\t\t\t\tthis.providerId,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst marksRaw = await marksResponse.text();\n\t\t\t\tspeechMarks = normalizeSpeechMarks(marksRaw, payload.text);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\taudioContent,\n\t\t\t\tword,\n\t\t\t\tspeechMarks,\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tif (error instanceof TTSError) throw error;\n\t\t\tconst message =\n\t\t\t\terror instanceof Error ? error.message : \"Unknown SchoolCity synthesis error\";\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\t`SchoolCity synthesis failed: ${message}`,\n\t\t\t\t{ error },\n\t\t\t\tthis.providerId,\n\t\t\t);\n\t\t} finally {\n\t\t\ttimeout.clear();\n\t\t}\n\t}\n\n\tasync synthesize(request: SynthesizeRequest): Promise<SynthesizeResponse> {\n\t\tconst startedAt = Date.now();\n\t\tconst { audioContent, speechMarks } = await this.synthesizeWithAssets(request);\n\t\tconst audioUrl = validateAssetUrl(\n\t\t\taudioContent,\n\t\t\tthis.config as SchoolCityProviderConfig,\n\t\t\tthis.baseUrl,\n\t\t);\n\t\tconst audioTimeout = this.withTimeout();\n\t\tlet audioResponse: Response;\n\t\ttry {\n\t\t\taudioResponse = await fetchAssetWithManualRedirects(\n\t\t\t\taudioUrl,\n\t\t\t\tthis.config as SchoolCityProviderConfig,\n\t\t\t\tthis.baseUrl,\n\t\t\t\tthis.fetchImpl,\n\t\t\t\t{ signal: audioTimeout.signal },\n\t\t\t);\n\t\t} finally {\n\t\t\taudioTimeout.clear();\n\t\t}\n\t\tif (!audioResponse.ok) {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\t`Failed to fetch SchoolCity audio asset (${audioResponse.status})`,\n\t\t\t\t{ audioContent, status: audioResponse.status },\n\t\t\t\tthis.providerId,\n\t\t\t);\n\t\t}\n\t\tconst arrayBuffer = await audioResponse.arrayBuffer();\n\t\tconst audio = Buffer.from(arrayBuffer);\n\t\treturn {\n\t\t\taudio,\n\t\t\tcontentType: audioResponse.headers.get(\"content-type\") || \"audio/mpeg\",\n\t\t\tspeechMarks,\n\t\t\tmetadata: {\n\t\t\t\tproviderId: this.providerId,\n\t\t\t\tvoice: request.voice || \"default\",\n\t\t\t\tduration: (Date.now() - startedAt) / 1000,\n\t\t\t\tcharCount: request.text.length,\n\t\t\t\tcached: false,\n\t\t\t\ttimestamp: new Date().toISOString(),\n\t\t\t},\n\t\t};\n\t}\n\n\tasync getVoices(_options?: GetVoicesOptions): Promise<Voice[]> {\n\t\tthis.ensureInitialized();\n\t\treturn [];\n\t}\n\n\tgetCapabilities(): ServerProviderCapabilities {\n\t\treturn {\n\t\t\tstandard: {\n\t\t\t\tsupportsSSML: true,\n\t\t\t\tsupportsPitch: false,\n\t\t\t\tsupportsRate: true,\n\t\t\t\tsupportsVolume: false,\n\t\t\t\tsupportsMultipleVoices: true,\n\t\t\t\tmaxTextLength: 3000,\n\t\t\t},\n\t\t\textensions: {\n\t\t\t\tsupportsSpeechMarks: true,\n\t\t\t\tsupportedFormats: [\"mp3\"],\n\t\t\t\tsupportsSampleRate: false,\n\t\t\t\tproviderSpecific: {\n\t\t\t\t\trequestModel: \"asset-urls\",\n\t\t\t\t\trequiresSignedJwt: true,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n"]}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC","sourcesContent":["/**\n * SchoolCity-backed server-side TTS provider.\n * @module @pie-players/tts-server-sc\n */\n\nexport type {\n\tSchoolCityProviderConfig,\n\tSchoolCitySynthesizeAssetsResult,\n} from \"./SchoolCityServerProvider.js\";\nexport { SchoolCityServerProvider } from \"./SchoolCityServerProvider.js\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-players/tts-server-sc",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.44",
|
|
4
4
|
"description": "SchoolCity-backed provider for server-side TTS with speech marks support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@pie-players/tts-server-core": "0.3.
|
|
41
|
+
"@pie-players/tts-server-core": "0.3.44",
|
|
42
42
|
"jose": "^6.2.2",
|
|
43
43
|
"tldts": "^7.0.26"
|
|
44
44
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SchoolCityServerProvider.d.ts","sourceRoot":"","sources":["../src/SchoolCityServerProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGvB,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,MAAM,8BAA8B,CAAC;AAEtC,KAAK,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAiBtD,KAAK,SAAS,GAAG,OAAO,KAAK,CAAC;AAE9B,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;;;;;;;;OAeG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gCAAgC;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,EAAE,CAAC;CAC1B;AAieD,qBAAa,wBAAyB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,UAAU,oBAAoB;IACvC,QAAQ,CAAC,YAAY,oBAAoB;IACzC,QAAQ,CAAC,OAAO,WAAW;IAE3B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,SAAS,CAAoB;IAE/B,UAAU,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;YAsCnD,aAAa;IAU3B,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,WAAW;IASN,oBAAoB,CAChC,OAAO,EAAE,iBAAiB,GACxB,OAAO,CAAC,gCAAgC,CAAC;IAoFtC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CnE,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAK9D,eAAe,IAAI,0BAA0B;CAqB7C"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACX,wBAAwB,EACxB,gCAAgC,GAChC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|