@depup/typesense 3.0.5-depup.1 → 3.1.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/changes.json +3 -3
- package/dist/typesense.js +2484 -1684
- package/dist/typesense.js.map +1 -1
- package/dist/typesense.min.js +1 -1
- package/dist/typesense.min.js.map +1 -1
- package/lib/Typesense/ApiCall.js +1 -1
- package/lib/Typesense/ApiCall.js.map +1 -1
- package/lib/Typesense/Collection.d.ts +0 -1
- package/lib/Typesense/Collection.js.map +1 -1
- package/lib/Typesense/Configuration.js +8 -5
- package/lib/Typesense/Configuration.js.map +1 -1
- package/lib/Typesense/CurationSetItem.d.ts +2 -1
- package/lib/Typesense/CurationSetItem.js.map +1 -1
- package/lib/Typesense/Document.d.ts +5 -1
- package/lib/Typesense/Document.js +5 -2
- package/lib/Typesense/Document.js.map +1 -1
- package/lib/Typesense/Documents.d.ts +5 -3
- package/lib/Typesense/Documents.js +16 -0
- package/lib/Typesense/Documents.js.map +1 -1
- package/lib/Typesense/MultiSearch.js +4 -1
- package/lib/Typesense/MultiSearch.js.map +1 -1
- package/lib/Typesense/Types.d.ts +10 -4
- package/package.json +21 -33
- package/src/Typesense/ApiCall.ts +1 -1
- package/src/Typesense/Collection.ts +0 -1
- package/src/Typesense/Configuration.ts +11 -7
- package/src/Typesense/CurationSetItem.ts +5 -1
- package/src/Typesense/Document.ts +10 -2
- package/src/Typesense/Documents.ts +36 -4
- package/src/Typesense/MultiSearch.ts +7 -2
- package/src/Typesense/Types.ts +25 -4
package/dist/typesense.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typesense.js","mappings":"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CAAC+C,YAAY,CAAC,CAAC;EACxC;AACF,C;;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAA0C;AAClD,QAAQ,oCAAO,UAAU;AAAA;AAAA;AAAA;AAAA,kGAAC;AAC1B,MAAM,KAAK;AAAA,EAIN;AACL,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qEAAqE;AACrE,YAAY;AACZ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD,e;;;;;;;;;;ACAA,e;;;;;;;;;;ACAA,e;;;;;;;;;;ACAA;AACA;AACA;AACA,iCAAiC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACH5F,wBAAwB,mBAAO,CAAC,0FAAwB;AACxD;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+BAA+B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,cAAc;AACd,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,+BAA+B,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACxF1F,0BAA0B,mBAAO,CAAC,8FAA0B;AAC5D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,oCAAoC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACP/F,kBAAkB,mBAAO,CAAC,8EAAkB;AAC5C,+BAA+B,mBAAO,CAAC,wGAA+B;AACtE;AACA;AACA;AACA,uCAAuC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACLlG,oBAAoB,mBAAO,CAAC,kFAAoB;AAChD,wBAAwB,mBAAO,CAAC,0FAAwB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA,gCAAgC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;AChC3F;AACA;AACA;AACA,QAAQ,QAAQ;AAChB,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,qCAAqC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACrBhG;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA,mCAAmC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACT9F,oBAAoB,mBAAO,CAAC,kFAAoB;AAChD,kBAAkB,mBAAO,CAAC,8EAAkB;AAC5C,uBAAuB,mBAAO,CAAC,wFAAuB;AACtD,0BAA0B,mBAAO,CAAC,8FAA0B;AAC5D,+BAA+B,mBAAO,CAAC,wGAA+B;AACtE,sBAAsB,mBAAO,CAAC,sFAAsB;AACpD,wBAAwB,mBAAO,CAAC,0FAAwB;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,sCAAsC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;AC5EjG,cAAc,sGAAiC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;AClBhG;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,0BAA0B,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACTrF;;AAEA,cAAc,mBAAO,CAAC,kGAA+B;AACrD;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;;ACdA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;ACJA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;ACxBA;AACA;AACA;;;;;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AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,uBAAuB,2DAAU,MAAM,2DAAU;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,sFAAoB;AAChE;AACA;;AAEA;AACA;AACA,wCAAwC,sFAAoB;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvMY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,+DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,sEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;ACtId;;AAEkC;;AAE/C,4BAA4B,2DAAU;AACtC;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA,eAAe,eAAe;AAC9B;AACA;AACA,kDAAkD,2DAAU;AAC5D;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACrBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEmB;AACc;AACW;AACN;AACR;AACI;AACC;AACH;AACkB;;AAE/D,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA,IAAI,6DAAS;AACb;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kDAAkD,iEAAoB;AACtE;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACxPR;;AAEmB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iDAAK;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACxEb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM,SAAS,iDAAK,qBAAqB,iDAAK;AAC9C,kBAAkB;AAClB;AACA,aAAa,iDAAK;AAClB;AACA;;AAEA;AACA,WAAW,iDAAK;AAChB;;AAEA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;ACzTf;;AAEmB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACvErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,uBAAuB,qEAAa;AACpC;AACA,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACrBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;;AAEA;AACA,oBAAoB,yDAAa;AACjC;AACA;AACA;AACA;;AAEA,uBAAuB,6DAAY;;AAEnC;AACA,GAAG;AACH,SAAS,+DAAQ;AACjB;;AAEA;AACA;AACA,+BAA+B,yDAAa;AAC5C;AACA;AACA;AACA;AACA,kCAAkC,6DAAY;AAC9C;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AChFa;;AAEmB;AACa;;AAE7C;AACA,mBAAmB,wDAAY,KAAK,WAAW;;AAE/C;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,cAAc,UAAU;AAC1C,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,iDAAK;AACP,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iDAAK;AACzB;AACA;AACA;AACA,OAAO,iDAAK;AACZ;AACA,KAAK;AACL;;AAEA;AACA;;;;;;;;;;;;;;;;;ACtHa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEmB;AACY;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACPK,yB;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,iDAAK;;AAE1B,qDAAqD,+DAAe;AACpE;AACA,4DAA4D,mDAAO;;AAEnE;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;;;;;AC3DY;;AAEb;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;ACtDd;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC3BA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;;;;AC3CX;;AAEmB;AACe;AAC/C;AACoE;;AAEpE;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA,SAAS,iDAAK,yBAAyB,iDAAK;AAC5C;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA,SAAS,iDAAK;AACd;;AAEA,mBAAmB,iDAAK,cAAc,iDAAK,IAAI;AAC/C;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,QAAQ;AACnB,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA,OAAO,iDAAK;AACZ;AACA;;AAEA;AACA,8BAA8B,0EAAgB;;AAE9C;AACA,YAAY,iDAAK;AACjB;AACA;AACA;AACA,GAAG;AACH;AACA,YAAY,iDAAK;AACjB,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iDAAK;;AAEhC,OAAO,iDAAK;AACZ;AACA;;AAEA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA;;AAEA,oBAAoB,iDAAK;AACzB,gBAAgB,2DAAU;AAC1B;;AAEA,QAAQ,iDAAK,yBAAyB,iDAAK;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,GAAG;AAChB,aAAa,eAAe;AAC5B,aAAa,sBAAsB;AACnC,YAAY;AACZ;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA,UAAU,iDAAK,kBAAkB;AACjC;AACA;AACA;AACA;AACA,QAAQ;AACR,SAAS,iDAAK;AACd,UAAU,iDAAK,sBAAsB,iDAAK,gCAAgC,iDAAK;AAC/E;AACA;AACA;;AAEA;AACA,YAAY,iDAAK;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,QAAQ,iDAAK;;AAEb;AACA;AACA;;AAEA;;AAEA,IAAI,iDAAK;AACT,uBAAuB,iDAAK;AAC5B,sBAAsB,iDAAK;AAC3B;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,OAAO,iDAAK;AACZ;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;AC9Nb;;AAEmB;AACS;AACG;;AAE7B;AACf,SAAS,0DAAU,WAAW,0DAAQ;AACtC;AACA,UAAU,0DAAQ,WAAW,iDAAK;AAClC;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;ACjBO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,aAAa;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;ACtFa;;AAE0B;AACQ;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA,wBAAwB,iDAAO;AAC/B;;AAEA;AACA;AACA;AACA,gBAAgB,2DAAU;AAC1B;AACA,QAAQ,2DAAU;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,KAAK,6BAA6B,gBAAgB;AACtE;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACA,aAAa;AACb;;AAEA;AACA;AACA,cAAc,2DAAU,8BAA8B,2DAAU;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2DAAU,yCAAyC,2DAAU;AAC/E;AACA;AACA;AACA;AACA,gBAAgB,2DAAU,0BAA0B,2DAAU;AAC9D;AACA;AACA;;AAEA,iEAAe;AACf;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;AClGU;;AAEZ,iEAAe,yCAAyC;;;;;;;;;;;;;;;;ACF3C;;AAEb,iEAAe,iDAAiD,EAAC;;;;;;;;;;;;;;;;;ACFpD;;AAE+D;AAC5E,iEAAe,2DAA2D,wEAAoB,EAAC;;;;;;;;;;;;;;;;;;;ACHrC;AACd;AACR;;AAEpC,iEAAe;AACf;AACA;AACA,mBAAmB;AACnB,YAAY;AACZ,QAAQ;AACR,GAAG;AACH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;ACZF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAQC;;;;;;;;;;;;;;;;;;AClDsC;AACI;;AAE3C,iEAAe;AACf,KAAK,6CAAK;AACV,KAAK,sDAAQ;AACb,CAAC;;;;;;;;;;;;;;;;;ACNY;;AAEwB;;AAErC;;AAEA,QAAQ,WAAW;AACnB,QAAQ,iBAAiB;AACzB,QAAQ,wBAAwB;;AAEhC;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,QAAQ,UAAU;;AAElB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,UAAU;AACrB;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;AACA,4BAA4B,qBAAqB,IAAI;AACrD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qBAAM;AACd,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS,GAAG,SAAS;AAC9C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,UAAU,0BAA0B;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,iCAAiC,aAAa,IAAI;AAClD;AACA;AACA;AACA;AACA;AACA,iBAAiB,4DAAI;AACrB;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,MAAM,YAAY;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK,gBAAgB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,WAAW,cAAc;AAChC;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;UC91BF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WC5BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC,I;;;;;WCPD,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAExQ,MAAM,EAANA,yDAAM;EAAE2N,YAAY,EAAZA,+DAAY;EAAE8C,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRuleV1.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRulesV1.ts","webpack://Typesense/./src/Typesense/AnalyticsV1.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/CurationSet.ts","webpack://Typesense/./src/Typesense/CurationSetItem.ts","webpack://Typesense/./src/Typesense/CurationSetItems.ts","webpack://Typesense/./src/Typesense/CurationSets.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/NLSearchModel.ts","webpack://Typesense/./src/Typesense/NLSearchModels.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stemming.ts","webpack://Typesense/./src/Typesense/StemmingDictionaries.ts","webpack://Typesense/./src/Typesense/StemmingDictionary.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/SynonymSet.ts","webpack://Typesense/./src/Typesense/SynonymSetItem.ts","webpack://Typesense/./src/Typesense/SynonymSetItems.ts","webpack://Typesense/./src/Typesense/SynonymSets.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Types.ts","webpack://Typesense/./src/Typesense/Utils.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/fanis/code/typesense/client-libs/js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/fanis/code/typesense/client-libs/js/src/Typesense|http","webpack://Typesense/ignored|/Users/fanis/code/typesense/client-libs/js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/OverloadYield.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorAsync.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorDefine.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorKeys.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorValues.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/readOnlyError.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/global","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise<CollectionAliasSchema> {\n return this.apiCall.get<CollectionAliasSchema>(this.endpointPath());\n }\n\n async delete(): Promise<CollectionAliasSchema> {\n return this.apiCall.delete<CollectionAliasSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise<CollectionAliasSchema> {\n return this.apiCall.put<CollectionAliasSchema>(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise<CollectionAliasesResponseSchema> {\n return this.apiCall.get<CollectionAliasesResponseSchema>(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record<string, AnalyticsRule> = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(): AnalyticsRules;\n rules(id: string): AnalyticsRule;\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport interface AnalyticsEventsRetrieveSchema {\n events: {\n name: string;\n event_type: string;\n collection: string;\n timestamp: number;\n user_id: string;\n doc_id?: string;\n doc_ids?: string[];\n query?: string;\n }[];\n}\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise<AnalyticsEventCreateSchema> {\n return this.apiCall.post<AnalyticsEventCreateSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(params: {\n user_id: string;\n name: string;\n n: number;\n }): Promise<AnalyticsEventsRetrieveSchema> {\n return this.apiCall.get<AnalyticsEventsRetrieveSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n name: string;\n type: string;\n collection: string;\n event_type: string;\n rule_tag?: string;\n params?: {\n destination_collection?: string;\n limit?: number;\n capture_search_requests?: boolean;\n meta_fields?: string[];\n expand_query?: boolean;\n counter_field?: string;\n weight?: number;\n };\n}\n\nexport interface AnalyticsRuleUpsertSchema {\n name?: string;\n type?: string;\n collection?: string;\n event_type?: string;\n rule_tag?: string;\n params?: {\n destination_collection?: string;\n limit?: number;\n capture_search_requests?: boolean;\n meta_fields?: string[];\n expand_query?: boolean;\n counter_field?: string;\n weight?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<AnalyticsRuleSchema> {\n return this.apiCall.get<AnalyticsRuleSchema>(this.endpointPath());\n }\n\n async delete(): Promise<AnalyticsRuleDeleteSchema> {\n return this.apiCall.delete<AnalyticsRuleDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRulesV1 from \"./AnalyticsRulesV1\";\n\nexport interface AnalyticsRuleCreateSchemaV1 {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\" | \"log\";\n params: {\n enable_auto_aggregation?: boolean;\n source: {\n collections: string[];\n events?: {\n type: string;\n weight?: number;\n name: string;\n }[];\n };\n expand_query?: boolean;\n destination?: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchemaV1 {\n name: string;\n}\n\nexport interface AnalyticsRuleSchemaV1 extends AnalyticsRuleCreateSchemaV1 {\n name: string;\n}\n\nexport default class AnalyticsRuleV1 {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<AnalyticsRuleSchemaV1> {\n return this.apiCall.get<AnalyticsRuleSchemaV1>(this.endpointPath());\n }\n\n async delete(): Promise<AnalyticsRuleDeleteSchemaV1> {\n return this.apiCall.delete<AnalyticsRuleDeleteSchemaV1>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRulesV1.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n AnalyticsRuleUpsertSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params:\n | AnalyticsRuleCreateSchema\n | AnalyticsRuleCreateSchema[],\n ): Promise<\n | AnalyticsRuleSchema\n | (\n | AnalyticsRuleSchema\n | {\n error?: string;\n }\n )[]\n > {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n {},\n {},\n );\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleUpsertSchema\n ): Promise<AnalyticsRuleSchema> {\n return this.apiCall.put<AnalyticsRuleSchema>(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(ruleTag?: string): Promise<AnalyticsRuleSchema[]> {\n const query: Record<string, string> = {};\n if (ruleTag) {\n query[\"rule_tag\"] = ruleTag;\n }\n return this.apiCall.get<AnalyticsRuleSchema[]>(this.endpointPath(), query);\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchemaV1,\n AnalyticsRuleSchemaV1,\n} from \"./AnalyticsRuleV1\";\n\nexport interface AnalyticsRulesRetrieveSchemaV1 {\n rules: AnalyticsRuleSchemaV1[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRulesV1 {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchemaV1\n ): Promise<AnalyticsRuleSchemaV1> {\n return this.apiCall.put<AnalyticsRuleSchemaV1>(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise<AnalyticsRulesRetrieveSchemaV1> {\n return this.apiCall.get<AnalyticsRulesRetrieveSchemaV1>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRulesV1.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRulesV1 from \"./AnalyticsRulesV1\";\nimport AnalyticsRuleV1 from \"./AnalyticsRuleV1\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\n/**\n * @deprecated Deprecated starting with Typesense Server v30. Please migrate to `client.analytics` (new Analytics APIs).\n */\nexport default class AnalyticsV1 {\n private static hasWarnedDeprecation = false;\n private readonly _analyticsRules: AnalyticsRulesV1;\n private readonly individualAnalyticsRules: Record<string, AnalyticsRuleV1> = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRulesV1(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(): AnalyticsRulesV1;\n rules(id: string): AnalyticsRuleV1;\n rules(id?: string): AnalyticsRulesV1 | AnalyticsRuleV1 {\n if (!AnalyticsV1.hasWarnedDeprecation) {\n // eslint-disable-next-line no-console\n console.warn(\n \"[typesense] 'analyticsV1' is deprecated starting with Typesense Server v30 and will be removed in a future release. Please use 'analytics' instead.\",\n );\n AnalyticsV1.hasWarnedDeprecation = true;\n }\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRuleV1(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n\n\n","import type {\n AxiosAdapter,\n AxiosRequestConfig,\n AxiosResponse,\n Method,\n} from \"axios\";\nimport axios from \"axios\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\nimport { Logger } from \"loglevel\";\nimport Configuration from \"./Configuration\";\nimport type { NodeConfiguration, StreamConfig } from \"./Configuration\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport type { DocumentSchema, SearchResponse } from \"./Documents\";\nimport { toErrorWithMessage } from \"./Utils\";\nimport { MessageChunk } from \"./Types\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null &&\n typeof window === \"undefined\";\n\nexport interface HttpClient {\n get<T>(\n endpoint: string,\n queryParameters: Record<string, unknown>,\n {\n abortSignal,\n responseType,\n streamConfig,\n isStreamingRequest,\n }: {\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest: boolean | undefined;\n },\n ): Promise<T>;\n delete<T>(\n endpoint: string,\n queryParameters: Record<string, unknown>,\n ): Promise<T>;\n post<T>(\n endpoint: string,\n bodyParameters: unknown,\n queryParameters: Record<string, unknown>,\n additionalHeaders: Record<string, string>,\n {\n abortSignal,\n responseType,\n streamConfig,\n isStreamingRequest,\n }: {\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest: boolean | undefined;\n },\n ): Promise<T>;\n put<T>(\n endpoint: string,\n bodyParameters: unknown,\n queryParameters: Record<string, unknown>,\n ): Promise<T>;\n patch<T>(\n endpoint: string,\n bodyParameters: unknown,\n queryParameters: Record<string, unknown>,\n ): Promise<T>;\n}\n\nexport default class ApiCall implements HttpClient {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record<string, string>;\n\n readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private configuration: Configuration) {\n this.apiKey = this.configuration.apiKey;\n this.nodes =\n this.configuration.nodes == null\n ? this.configuration.nodes\n : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes\n this.nearestNode =\n this.configuration.nearestNode == null\n ? this.configuration.nearestNode\n : JSON.parse(JSON.stringify(this.configuration.nearestNode));\n this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds;\n this.healthcheckIntervalSeconds =\n this.configuration.healthcheckIntervalSeconds;\n this.numRetriesPerRequest = this.configuration.numRetries;\n this.retryIntervalSeconds = this.configuration.retryIntervalSeconds;\n this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam;\n this.additionalUserHeaders = this.configuration.additionalHeaders;\n\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get<T>(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n streamConfig = undefined,\n isStreamingRequest,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest?: boolean | undefined;\n } = {},\n ): Promise<T> {\n return this.performRequest<T>(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n streamConfig,\n isStreamingRequest,\n });\n }\n\n async delete<T>(endpoint: string, queryParameters: any = {}): Promise<T> {\n return this.performRequest<T>(\"delete\", endpoint, {\n queryParameters,\n isStreamingRequest: false,\n });\n }\n\n async post<T>(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n streamConfig = undefined,\n isStreamingRequest,\n }: {\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest?: boolean | undefined;\n } = {},\n ): Promise<T> {\n return this.performRequest<T>(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n abortSignal,\n responseType,\n streamConfig,\n isStreamingRequest,\n });\n }\n\n async put<T>(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise<T> {\n return this.performRequest<T>(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n isStreamingRequest: false,\n });\n }\n\n async patch<T>(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise<T> {\n return this.performRequest<T>(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n isStreamingRequest: false,\n });\n }\n\n private getAdapter(): AxiosAdapter | undefined {\n if (!this.configuration.axiosAdapter) return undefined;\n\n if (typeof this.configuration.axiosAdapter === \"function\")\n return this.configuration.axiosAdapter;\n\n const isCloudflareWorkers =\n typeof navigator !== \"undefined\" &&\n navigator.userAgent === \"Cloudflare-Workers\";\n\n return isCloudflareWorkers\n ? axios.getAdapter(this.configuration.axiosAdapter).bind(globalThis)\n : axios.getAdapter(this.configuration.axiosAdapter);\n }\n\n async performRequest<T>(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n streamConfig = undefined,\n isStreamingRequest,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest?: boolean | undefined;\n },\n ): Promise<T> {\n this.configuration.validate();\n\n if (isStreamingRequest) {\n this.logger.debug(`Request: Performing streaming request to ${endpoint}`);\n\n // For browser streaming, always use responseType: \"stream\" and adapter: \"fetch\"\n if (!isNodeJSEnvironment && typeof fetch !== \"undefined\") {\n this.logger.debug(\"Using fetch adapter for browser streaming\");\n responseType = \"stream\";\n }\n }\n\n const requestNumber = Date.now();\n let lastException;\n let wasAborted = false;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener: ((event: Event) => void) | undefined;\n\n try {\n const requestOptions: AxiosRequestConfig<string> = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n validateStatus: (status) => {\n /* Override default validateStatus, which only considers 2xx a success.\n In our case, if the server returns any HTTP code, we will handle it below.\n We do this to be able to raise custom errors based on response code.\n */\n return status > 0;\n },\n transformResponse: [\n (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n // Use fetch adapter only for streaming requests in browser environments\n requestOptions.adapter =\n isStreamingRequest && !isNodeJSEnvironment\n ? \"fetch\"\n : this.getAdapter();\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => {\n wasAborted = true;\n source.cancel();\n };\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n if (isStreamingRequest) {\n requestOptions.responseType = \"stream\";\n if (!isNodeJSEnvironment) {\n requestOptions.headers = {\n ...requestOptions.headers,\n Accept: \"text/event-stream\",\n };\n }\n } else if (responseType) {\n requestOptions.responseType = responseType;\n }\n\n const response = await axios(requestOptions);\n\n if (response.status >= 1 && response.status <= 499) {\n // Treat any status code > 0 and < 500 to be an indication that node is healthy\n // We exclude 0 since some clients return 0 when request fails\n this.setNodeHealthcheck(node, HEALTHY);\n }\n\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n if (isStreamingRequest) {\n return this.handleStreamingResponse<T>(response, streamConfig);\n }\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(\n response,\n response.data?.message,\n requestOptions.data,\n ),\n );\n } else {\n // Retry all other HTTP errors (HTTPStatus > 500)\n // This will get caught by the catch block below\n throw this.customErrorForResponse(\n response,\n response.data?.message,\n requestOptions.data,\n );\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n if (!wasAborted) {\n this.setNodeHealthcheck(node, UNHEALTHY);\n }\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error?.code ?? \"\"} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n\n if (wasAborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n if (isStreamingRequest) {\n this.invokeOnErrorCallback(error, streamConfig);\n }\n\n if (numTries < this.numRetriesPerRequest + 1) {\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n } else {\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\n }\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\n }\n\n private processStreamingLine(line: string): {\n conversation_id: string;\n message: string;\n } | null {\n if (!line.trim() || line === \"data: [DONE]\") {\n return null;\n }\n\n // Handle SSE format (data: {...})\n if (line.startsWith(\"data: \")) {\n return this.processDataLine(line.slice(6).trim());\n }\n\n // Try parsing as JSON if it starts with a brace\n if (line.trim().startsWith(\"{\")) {\n try {\n const jsonData = JSON.parse(line.trim());\n if (jsonData && typeof jsonData === \"object\") {\n if (!jsonData.conversation_id) {\n jsonData.conversation_id = \"unknown\";\n }\n if (!jsonData.message && jsonData.message !== \"\") {\n jsonData.message = \"\";\n }\n return jsonData;\n }\n return {\n conversation_id: \"unknown\",\n message: JSON.stringify(jsonData),\n };\n } catch {\n return {\n conversation_id: \"unknown\",\n message: line.trim(),\n };\n }\n }\n\n return {\n conversation_id: \"unknown\",\n message: line.trim(),\n };\n }\n\n private processDataLine(dataContent: string): {\n conversation_id: string;\n message: string;\n } | null {\n if (!dataContent) {\n return null;\n }\n\n if (dataContent.startsWith(\"{\")) {\n try {\n const jsonData = JSON.parse(dataContent);\n // Ensure the required fields exist\n if (jsonData && typeof jsonData === \"object\") {\n if (!jsonData.conversation_id) {\n jsonData.conversation_id = \"unknown\";\n }\n if (!jsonData.message && jsonData.message !== \"\") {\n jsonData.message = \"\";\n }\n return jsonData;\n }\n return {\n conversation_id: \"unknown\",\n message: JSON.stringify(jsonData),\n };\n } catch {\n // Not valid JSON, use as plain text\n return {\n conversation_id: \"unknown\",\n message: dataContent,\n };\n }\n }\n\n // For plain text\n return {\n conversation_id: \"unknown\",\n message: dataContent,\n };\n }\n\n private async handleStreamingResponse<T>(\n response: AxiosResponse,\n streamConfig:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined,\n ): Promise<T> {\n this.logger.debug(\n `Handling streaming response. Environment: ${isNodeJSEnvironment ? \"Node.js\" : \"Browser\"}`,\n );\n\n if (isNodeJSEnvironment && response.data) {\n return this.handleNodeStreaming<T>(response, streamConfig);\n }\n\n if (!isNodeJSEnvironment) {\n return this.handleBrowserStreaming<T>(response, streamConfig);\n }\n\n this.logger.debug(\"Processing non-streaming response\");\n this.invokeOnCompleteCallback(response.data, streamConfig);\n return Promise.resolve(response.data as T);\n }\n\n private handleNodeStreaming<T>(\n response: AxiosResponse,\n streamConfig?: StreamConfig<T extends DocumentSchema ? T : DocumentSchema>,\n ): Promise<T> {\n this.logger.debug(\"Processing Node.js stream\");\n return new Promise<T>((resolve, reject) => {\n const stream = response.data;\n const allChunks:\n | [\n ...MessageChunk[],\n SearchResponse<T extends DocumentSchema ? T : DocumentSchema>,\n ]\n | [] = [];\n let buffer = \"\";\n\n stream.on(\"data\", (chunk) => {\n try {\n const data = chunk.toString();\n buffer += data;\n\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n\n this.processStreamLines(lines, allChunks, streamConfig);\n } catch (error) {\n reject(error);\n }\n });\n\n stream.on(\"end\", () => {\n if (buffer.trim().length > 0) {\n const lines = buffer.split(\"\\n\");\n this.processStreamLines(lines, allChunks, streamConfig);\n }\n\n this.finalizeStreamResult<T>(\n allChunks,\n resolve,\n response,\n streamConfig,\n );\n });\n\n stream.on(\"error\", (error: unknown) => {\n this.logger.error(`Stream error: ${error}`);\n this.invokeOnErrorCallback(error, streamConfig);\n reject(error);\n });\n });\n }\n\n private handleBrowserStreaming<T>(\n response: AxiosResponse,\n streamConfig?: StreamConfig<T extends DocumentSchema ? T : DocumentSchema>,\n ): Promise<T> {\n this.logger.debug(\"Processing browser stream\");\n\n return new Promise<T>(async (resolve, reject) => {\n try {\n if (response.data && typeof response.data.getReader === \"function\") {\n return this.handleBrowserReadableStream<T>(\n response.data,\n resolve,\n reject,\n response,\n streamConfig,\n );\n }\n\n if (typeof response.data === \"string\") {\n return this.handleBrowserStringResponse<T>(\n response.data,\n resolve,\n response,\n streamConfig,\n );\n }\n\n if (typeof response.data === \"object\" && response.data !== null) {\n this.logger.debug(\"No stream found, but data object is available\");\n this.invokeOnCompleteCallback(response.data, streamConfig);\n return resolve(response.data as T);\n }\n\n this.logger.error(\"No usable data found in response\");\n return reject(new Error(\"No usable data found in response\"));\n } catch (error) {\n this.logger.error(`Error processing streaming response: ${error}`);\n this.invokeOnErrorCallback(error, streamConfig);\n reject(error);\n }\n });\n }\n\n private async handleBrowserReadableStream<T>(\n stream: any,\n resolve: (value: T) => void,\n reject: (reason?: any) => void,\n response: AxiosResponse,\n streamConfig:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined,\n ): Promise<void> {\n this.logger.debug(\"Found ReadableStream in response.data\");\n const reader = stream.getReader();\n const allChunks:\n | [\n ...MessageChunk[],\n SearchResponse<T extends DocumentSchema ? T : DocumentSchema>,\n ]\n | [] = [];\n let buffer = \"\";\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n\n if (done) {\n this.logger.debug(\"Stream reading complete\");\n if (buffer.trim()) {\n const lines = buffer.split(\"\\n\");\n this.processStreamLines(lines, allChunks, streamConfig);\n }\n break;\n }\n\n const chunk = new TextDecoder().decode(value);\n this.logger.debug(`Received chunk: ${chunk.length} bytes`);\n\n buffer += chunk;\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() || \"\";\n\n this.processStreamLines(lines, allChunks, streamConfig);\n }\n\n this.finalizeStreamResult<T>(allChunks, resolve, response, streamConfig);\n } catch (error) {\n this.logger.error(`Stream error: ${error}`);\n this.invokeOnErrorCallback(error, streamConfig);\n reject(error);\n }\n }\n\n private handleBrowserStringResponse<T>(\n data: string,\n resolve: (value: T) => void,\n response: AxiosResponse,\n streamConfig:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined,\n ): void {\n this.logger.debug(\"Processing text response as stream data\");\n const allChunks:\n | [\n ...MessageChunk[],\n SearchResponse<T extends DocumentSchema ? T : DocumentSchema>,\n ]\n | [] = [];\n\n const lines = data.split(\"\\n\");\n this.processStreamLines(lines, allChunks, streamConfig);\n\n if (allChunks.length > 0) {\n const finalResult =\n this.combineStreamingChunks<\n T extends DocumentSchema ? T : DocumentSchema\n >(allChunks);\n this.invokeOnCompleteCallback(finalResult, streamConfig);\n resolve(finalResult as unknown as T);\n } else {\n // If no chunks were processed, use the original response\n this.logger.debug(\"No chunks processed, returning original API response\");\n this.invokeOnCompleteCallback(response.data, streamConfig);\n resolve(response.data as T);\n }\n }\n\n private processStreamLines<T extends DocumentSchema>(\n lines: string[],\n allChunks: [...MessageChunk[], SearchResponse<T>] | [],\n streamConfig: StreamConfig<T> | undefined,\n ): void {\n for (const line of lines) {\n if (line.trim() && line !== \"data: [DONE]\") {\n const processed = this.processStreamingLine(line);\n if (processed !== null) {\n this.invokeOnChunkCallback(processed, streamConfig);\n (allChunks as MessageChunk[]).push(processed);\n }\n }\n }\n }\n\n private finalizeStreamResult<T>(\n allChunks:\n | [\n ...MessageChunk[],\n SearchResponse<T extends DocumentSchema ? T : DocumentSchema>,\n ]\n | [],\n resolve: (value: T) => void,\n response: AxiosResponse,\n streamConfig?: StreamConfig<T extends DocumentSchema ? T : DocumentSchema>,\n ): void {\n if (allChunks.length > 0) {\n const finalResult = this.combineStreamingChunks(allChunks);\n this.logger.debug(\"Stream processing complete\");\n this.invokeOnCompleteCallback(finalResult, streamConfig);\n resolve(finalResult as unknown as T);\n } else {\n this.logger.debug(\"No chunks processed, returning original API response\");\n this.invokeOnCompleteCallback(response.data, streamConfig);\n resolve(response.data as T);\n }\n }\n\n /**\n * Combines multiple streaming chunks into a single coherent result\n * This is critical for ensuring we return the complete data rather than just the last chunk\n */\n private combineStreamingChunks<T extends DocumentSchema>(\n chunks: [...MessageChunk[], SearchResponse<T>] | [],\n ): SearchResponse<T> {\n if (chunks.length === 0) return {} as SearchResponse<T>;\n if (chunks.length === 1) return chunks[0] as unknown as SearchResponse<T>;\n\n // For conversation streams with message chunks\n const messagesChunks = this.getMessageChunks(\n chunks as [...MessageChunk[], SearchResponse<T>],\n );\n if (messagesChunks.length > 0) {\n return this.combineMessageChunks(\n chunks as [...MessageChunk[], SearchResponse<T>],\n messagesChunks,\n );\n }\n\n // For regular search responses\n const lastChunk = chunks[chunks.length - 1];\n if (!this.isCompleteSearchResponse(lastChunk)) {\n throw new Error(\"Last chunk is not a complete search response\");\n }\n\n return lastChunk;\n }\n\n private getMessageChunks<T extends DocumentSchema>(\n chunks: [...MessageChunk[], SearchResponse<T>],\n ): MessageChunk[] {\n return chunks.filter(this.isChunkMessage);\n }\n\n private isChunkMessage(chunk: unknown): chunk is MessageChunk {\n return (\n typeof chunk === \"object\" &&\n chunk !== null &&\n \"message\" in chunk &&\n \"conversation_id\" in chunk\n );\n }\n\n private combineMessageChunks<T extends DocumentSchema>(\n chunks: [...MessageChunk[], SearchResponse<T>],\n messagesChunks: MessageChunk[],\n ): SearchResponse<T> {\n this.logger.debug(\n `Found ${messagesChunks.length} message chunks to combine`,\n );\n\n const lastChunk = chunks[chunks.length - 1];\n if (this.isCompleteSearchResponse(lastChunk)) {\n return lastChunk;\n }\n\n const metadataChunk = chunks.find(this.isCompleteSearchResponse);\n\n if (!metadataChunk) {\n throw new Error(\"No metadata chunk found\");\n }\n\n return metadataChunk;\n }\n\n private isCompleteSearchResponse<T extends DocumentSchema>(\n chunk: MessageChunk | SearchResponse<T>,\n ): chunk is SearchResponse<T> {\n if (\n typeof chunk === \"object\" &&\n chunk !== null &&\n Object.keys(chunk as object).length > 0\n ) {\n return (\n \"results\" in (chunk as object) ||\n \"found\" in (chunk as object) ||\n \"hits\" in (chunk as object) ||\n \"page\" in (chunk as object) ||\n \"search_time_ms\" in (chunk as object)\n );\n }\n return false;\n }\n\n // Attempts to find the next healthy node, looping through the list of nodes once.\n // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy\n // so we can try the request for good measure, in case that node has become healthy since\n getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n }\n\n // None of the nodes are marked healthy, but some of them could have become healthy since last health check.\n // So we will just return the next node.\n this.logger.debug(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n httpBody?: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage, httpBody, response.status);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage, httpBody, response.status);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage, httpBody, response.status);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage, httpBody, response.status);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage, httpBody, response.status);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage, httpBody, response.status);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage, httpBody, response.status);\n } else {\n error = new HTTPError(errorMessage, httpBody, response.status);\n }\n\n return error;\n }\n\n private invokeOnChunkCallback<T extends DocumentSchema>(\n data: {\n conversation_id: string;\n message: string;\n },\n streamConfig: StreamConfig<T> | undefined,\n ): void {\n if (streamConfig?.onChunk) {\n try {\n streamConfig.onChunk(data);\n } catch (error) {\n this.logger.warn(`Error in onChunk callback: ${error}`);\n }\n }\n }\n\n private invokeOnCompleteCallback<T extends DocumentSchema>(\n data: SearchResponse<T>,\n streamConfig: StreamConfig<T> | undefined,\n ): void {\n if (streamConfig?.onComplete) {\n try {\n streamConfig.onComplete(data);\n } catch (error) {\n this.logger.warn(`Error in onComplete callback: ${error}`);\n }\n }\n }\n\n private invokeOnErrorCallback<T extends DocumentSchema>(\n error: unknown,\n streamConfig: StreamConfig<T> | undefined,\n ): void {\n if (streamConfig?.onError) {\n const errorObj = toErrorWithMessage(error);\n try {\n streamConfig.onError(errorObj);\n } catch (callbackError) {\n this.logger.warn(`Error in onError callback: ${callbackError}`);\n }\n }\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport AnalyticsV1 from \"./AnalyticsV1\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\nimport Stemming from \"./Stemming\";\nimport NLSearchModels from \"./NLSearchModels\";\nimport NLSearchModel from \"./NLSearchModel\";\nimport SynonymSets from \"./SynonymSets\";\nimport SynonymSet from \"./SynonymSet\";\nimport CurationSets from \"./CurationSets\";\nimport CurationSet from \"./CurationSet\";\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n analyticsV1: AnalyticsV1;\n stemming: Stemming;\n private readonly _collections: Collections;\n private readonly individualCollections: Record<string, Collection>;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record<string, Alias>;\n private readonly _keys: Keys;\n private readonly individualKeys: Record<number, Key>;\n private readonly _presets: Presets;\n private readonly individualPresets: Record<string, Preset>;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record<string, Stopword>;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record<string, Conversation>;\n private readonly _nlSearchModels: NLSearchModels;\n private readonly individualNLSearchModels: Record<string, NLSearchModel>;\n private readonly _synonymSets: SynonymSets;\n private readonly individualSynonymSets: Record<string, SynonymSet>;\n private readonly _curationSets: CurationSets;\n private readonly individualCurationSets: Record<string, CurationSet>;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this.analyticsV1 = new AnalyticsV1(this.apiCall);\n this.stemming = new Stemming(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n this._nlSearchModels = new NLSearchModels(this.apiCall);\n this.individualNLSearchModels = {};\n this._synonymSets = new SynonymSets(this.apiCall);\n this.individualSynonymSets = {};\n this._curationSets = new CurationSets(this.apiCall);\n this.individualCurationSets = {};\n }\n\n collections(): Collections;\n collections<T extends Record<string, any> = object>(\n collectionName: string,\n ): Collection<T>;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n\n nlSearchModels(): NLSearchModels;\n nlSearchModels(id: string): NLSearchModel;\n nlSearchModels(id?: string): NLSearchModels | NLSearchModel {\n if (id === undefined) {\n return this._nlSearchModels;\n } else {\n if (this.individualNLSearchModels[id] === undefined) {\n this.individualNLSearchModels[id] = new NLSearchModel(id, this.apiCall);\n }\n return this.individualNLSearchModels[id];\n }\n }\n\n synonymSets(): SynonymSets;\n synonymSets(synonymSetName: string): SynonymSet;\n synonymSets(synonymSetName?: string): SynonymSets | SynonymSet {\n if (synonymSetName === undefined) {\n return this._synonymSets;\n } else {\n if (this.individualSynonymSets[synonymSetName] === undefined) {\n this.individualSynonymSets[synonymSetName] = new SynonymSet(\n synonymSetName,\n this.apiCall,\n );\n }\n return this.individualSynonymSets[synonymSetName];\n }\n }\n\n curationSets(): CurationSets;\n curationSets(name: string): CurationSet;\n curationSets(name?: string): CurationSets | CurationSet {\n if (name === undefined) {\n return this._curationSets;\n } else {\n if (this.individualCurationSets[name] === undefined) {\n this.individualCurationSets[name] = new CurationSet(\n name,\n this.apiCall,\n );\n }\n return this.individualCurationSets[name];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport type {\n BaseCollectionCreateSchema,\n CollectionCreateSchema,\n} from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopolygon\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema\n extends Partial<\n Pick<BaseCollectionCreateSchema, \"token_separators\" | \"symbols_to_index\">\n > {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n range_index?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends Required<CollectionCreateSchema> {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial<Omit<CollectionCreateSchema, \"name\" | \"fields\">> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n synonym_sets?: string[];\n}\n\nexport interface CollectionDeleteOptions {\n compact_store?: boolean;\n}\n\nexport default class Collection<T extends DocumentSchema = object> {\n private readonly _documents: Documents<T>;\n private individualDocuments: Record<string, Document<T>> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record<string, Override> = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record<string, Synonym> = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise<CollectionSchema> {\n return this.apiCall.get<CollectionSchema>(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise<CollectionSchema> {\n return this.apiCall.patch<CollectionSchema>(this.endpointPath(), schema);\n }\n\n async delete(\n options: CollectionDeleteOptions = {},\n ): Promise<CollectionSchema> {\n return this.apiCall.delete<CollectionSchema>(this.endpointPath(), options);\n }\n\n async exists(): Promise<boolean> {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents<T>;\n documents(documentId: string): Document<T>;\n documents(documentId?: string): Document<T> | Documents<T> {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport type { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface BaseCollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n synonym_sets?: string[];\n curation_sets?: string[];\n}\n\ninterface CollectionCreateSchemaWithSrc\n extends Pick<BaseCollectionCreateSchema, \"name\"> {\n fields?: CollectionFieldSchema[];\n}\n\ninterface CollectionCreateSchemaWithoutSrc extends BaseCollectionCreateSchema {\n fields: CollectionFieldSchema[];\n}\n\n/**\n * Defines the schema for creating a collection in Typesense.\n *\n * If the `src_name` property in `Options` is a string, the `fields` prop is optional, and only used for embedding fields.\n * Otherwise, `fields` will be required.\n */\nexport type CollectionCreateSchema<\n Options extends CollectionCreateOptions = CollectionCreateOptions,\n> = Options[\"src_name\"] extends string\n ? CollectionCreateSchemaWithSrc\n : CollectionCreateSchemaWithoutSrc;\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create<const Options extends CollectionCreateOptions>(\n schema: CollectionCreateSchema<Options>,\n options?: Options,\n ): Promise<CollectionSchema> {\n return this.apiCall.post<CollectionSchema>(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise<CollectionSchema[]> {\n return this.apiCall.get<CollectionSchema[]>(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\nimport type { AxiosRequestConfig } from \"axios\";\nimport { DocumentSchema, SearchResponse } from \"./Documents\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record<string, string>;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n\n /**\n * Set a custom axios adapter\n *\n * Useful for customizing the underlying HTTP client library used by Typesense.\n *\n * For example, you can use this to use a custom HTTP client library like `fetch`, in order for the library to work on the edge.\n * Related GiHub issue: https://github.com/typesense/typesense-js/issues/161\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n */\n axiosAdapter?: AxiosRequestConfig[\"adapter\"];\n}\n\n/**\n * Configuration options for streaming responses\n */\nexport interface BaseStreamConfig {\n /**\n * Callback function that will be called for each chunk of data received\n * during streaming\n */\n onChunk?: (data: { conversation_id: string; message: string }) => void;\n /**\n * Callback function that will be called if there is an error during streaming\n */\n onError?: (error: Error) => void;\n}\n\n/**\n * Stream configuration for standard search responses\n * For specialized responses like MultiSearch, extend BaseStreamConfig with the appropriate onComplete signature\n */\nexport interface StreamConfig<T extends DocumentSchema>\n extends BaseStreamConfig {\n /**\n * Callback function that will be called when the streaming is complete\n */\n onComplete?: (data: SearchResponse<T>) => void;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record<string, string>;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n readonly axiosAdapter?: AxiosRequestConfig[\"adapter\"];\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\n this.connectionTimeoutSeconds =\n options.connectionTimeoutSeconds || options.timeoutSeconds || 5;\n this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60;\n this.numRetries =\n (options.numRetries !== undefined && options.numRetries >= 0\n ? options.numRetries\n : this.nodes.length + (this.nearestNode == null ? 0 : 1)) || 3;\n this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1;\n\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.axiosAdapter = options.axiosAdapter;\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\n switch (node[\"protocol\"]) {\n case \"https\":\n node[\"port\"] = 443;\n break;\n case \"http\":\n node[\"port\"] = 80;\n break;\n }\n }\n return node;\n }\n\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<ConversationSchema[]> {\n return this.apiCall.get<ConversationSchema[]>(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise<ConversationUpdateSchema> {\n return this.apiCall.put<ConversationUpdateSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise<ConversationDeleteSchema> {\n return this.apiCall.delete<ConversationDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n account_id?: string;\n url?: string;\n ttl?: number;\n vllm_url?: string;\n openai_url?: string;\n openai_path?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise<ConversationModelCreateSchema> {\n return this.apiCall.put<ConversationModelCreateSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise<ConversationModelSchema> {\n return this.apiCall.get<ConversationModelSchema>(this.endpointPath());\n }\n\n async delete(): Promise<ConversationModelDeleteSchema> {\n return this.apiCall.delete<ConversationModelDeleteSchema>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise<ConversationModelCreateSchema> {\n return this.apiCall.post<ConversationModelCreateSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise<ConversationModelSchema[]> {\n return this.apiCall.get<ConversationModelSchema[]>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise<ConversationsRetrieveSchema> {\n return this.apiCall.get<ConversationsRetrieveSchema>(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport CurationSets from \"./CurationSets\";\nimport type {\n CurationSetDeleteResponseSchema,\n CurationSetSchema,\n CurationSetUpsertSchema,\n} from \"./CurationSets\";\nimport CurationSetItems from \"./CurationSetItems\";\nimport CurationSetItem from \"./CurationSetItem\";\n\nexport default class CurationSet {\n private readonly _items: CurationSetItems;\n private individualItems: Record<string, CurationSetItem> = {};\n\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {\n this._items = new CurationSetItems(this.name, apiCall);\n }\n\n async upsert(params: CurationSetUpsertSchema): Promise<CurationSetSchema> {\n return this.apiCall.put<CurationSetSchema>(this.endpointPath(), params);\n }\n\n async retrieve(): Promise<CurationSetSchema> {\n return this.apiCall.get<CurationSetSchema>(this.endpointPath());\n }\n\n async delete(): Promise<CurationSetDeleteResponseSchema> {\n return this.apiCall.delete<CurationSetDeleteResponseSchema>(\n this.endpointPath(),\n );\n }\n\n items(): CurationSetItems;\n items(itemId: string): CurationSetItem;\n items(itemId?: string): CurationSetItems | CurationSetItem {\n if (itemId === undefined) {\n return this._items;\n } else {\n if (this.individualItems[itemId] === undefined) {\n this.individualItems[itemId] = new CurationSetItem(\n this.name,\n itemId,\n this.apiCall,\n );\n }\n return this.individualItems[itemId];\n }\n }\n\n private endpointPath(): string {\n return `${CurationSets.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport CurationSets from \"./CurationSets\";\nimport type { CurationObjectSchema } from \"./CurationSets\";\n\nexport interface CurationItemDeleteResponseSchema {\n id: string;\n}\n\nexport default class CurationSetItem {\n constructor(\n private name: string,\n private itemId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<CurationObjectSchema> {\n return this.apiCall.get<CurationObjectSchema>(this.endpointPath());\n }\n\n async upsert(params: CurationObjectSchema): Promise<CurationObjectSchema> {\n return this.apiCall.put<CurationObjectSchema>(this.endpointPath(), params);\n }\n\n async delete(): Promise<CurationItemDeleteResponseSchema> {\n return this.apiCall.delete<CurationItemDeleteResponseSchema>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${CurationSets.RESOURCEPATH}/${encodeURIComponent(\n this.name,\n )}/items/${encodeURIComponent(this.itemId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport CurationSets, { CurationObjectSchema } from \"./CurationSets\";\n\nexport default class CurationSetItems {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise<CurationObjectSchema[]> {\n return this.apiCall.get<CurationObjectSchema[]>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${CurationSets.RESOURCEPATH}/${encodeURIComponent(this.name)}/items${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\n\nexport type CurationRuleSchema =\n | {\n query: string;\n match: \"exact\" | \"contains\";\n filter_by?: string;\n tags?: string[];\n }\n | {\n query?: never;\n match?: never;\n filter_by: string;\n tags?: string[];\n }\n | {\n query?: never;\n match?: never;\n filter_by?: string;\n tags: string[];\n };\n\nexport interface CurationObjectSchema {\n id: string;\n rule: CurationRuleSchema;\n includes?: {\n id: string;\n position: number;\n }[];\n excludes?: {\n id: string;\n }[];\n filter_by?: string;\n sort_by?: string;\n replace_query?: string;\n remove_matched_tokens?: boolean;\n filter_curated_hits?: boolean;\n stop_processing?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CurationSetUpsertSchema {\n items: CurationObjectSchema[];\n}\n\nexport interface CurationSetSchema extends CurationSetUpsertSchema {\n name?: string;\n}\n\nexport interface CurationSetsListEntrySchema {\n name: string;\n items: CurationObjectSchema[];\n}\n\nexport interface CurationSetDeleteResponseSchema {\n name: string;\n}\n\nexport default class CurationSets {\n constructor(private apiCall: ApiCall) {}\n static readonly RESOURCEPATH = \"/curation_sets\";\n\n async retrieve(): Promise<CurationSetsListEntrySchema[]> {\n return this.apiCall.get<CurationSetsListEntrySchema[]>(\n CurationSets.RESOURCEPATH,\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise<DebugResponseSchema> {\n return this.apiCall.get<DebugResponseSchema>(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document<T extends DocumentSchema = object> {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise<T> {\n return this.apiCall.get<T>(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise<T> {\n return this.apiCall.delete<T>(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial<T>,\n options: DocumentWriteParameters = {}\n ): Promise<T> {\n return this.apiCall.patch<T>(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError, RequestMalformed } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\nimport {\n SearchParams,\n SearchResponseRequestParams,\n WriteableDocuments,\n} from \"./Types\";\n\n// Todo: use generic to extract filter_by values\nexport type DeleteQuery =\n | {\n truncate?: true;\n }\n | {\n truncate?: never;\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n return_doc?: boolean;\n return_id?: boolean;\n };\n\nexport interface DeleteResponse<T extends DocumentSchema = DocumentSchema> {\n num_deleted: number;\n documents?: T[];\n ids?: string[];\n}\n\ninterface ImportResponseSuccess<T extends DocumentSchema = DocumentSchema> {\n success: true;\n error?: never;\n document?: T;\n id?: string;\n code?: never;\n}\n\nexport interface ImportResponseFail<T extends DocumentSchema = DocumentSchema> {\n success: false;\n error: string;\n document?: T;\n id?: string;\n code: number;\n}\n\nexport type ImportResponse<T extends DocumentSchema = DocumentSchema> = ImportResponseSuccess<T> | ImportResponseFail<T>;\n\nexport type DocumentSchema = Record<string, any>;\n\nexport interface SearchParamsWithPreset<\n T extends DocumentSchema,\n Infix extends string,\n> extends Partial<SearchParams<T, Infix>> {\n preset: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight<T> = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight<T[TAttribute]>;\n };\n\nexport interface SearchResponseHit<T extends DocumentSchema> {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight<T>;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: `${number}`; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: `${number}`; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n geo_distance_meters?: {\n location: number\n };\n}\n\nexport interface SearchResponseFacetCountSchema<T extends DocumentSchema> {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n parent?: Record<string, string | number | boolean>;\n }[];\n field_name: keyof T;\n sampled: boolean;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n total_values?: number;\n };\n}\n\ninterface LLMResponse {\n content: string;\n extraction_method: string;\n model: string;\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse<T extends DocumentSchema> {\n facet_counts?: SearchResponseFacetCountSchema<T>[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit<T>[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit<T>[];\n found?: number;\n }[];\n parsed_nl_query?: {\n parse_time_ms: number;\n generated_params: SearchParams<T>;\n augmented_params: SearchParams<T>;\n llm_response?: LLMResponse;\n };\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n metadata?: JsonRecord;\n}\n\ntype JSONPrimitive = string | number | boolean | null;\n\ntype JsonRecord = {\n [key: string]: JSONPrimitive | JSONPrimitive[] | JsonRecord;\n};\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n remote_embedding_batch_size?: number;\n remote_embedding_timeout_ms?: number;\n remote_embedding_num_tries?: number;\n return_doc?: boolean;\n return_id?: boolean;\n throwOnFail?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents<T extends DocumentSchema = object>\n extends SearchOnlyDocuments<T>\n implements WriteableDocuments<T>\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise<T> {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post<T>(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise<T> {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post<T>(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise<UpdateByFilterResponse>;\n async update(document: T, options: DocumentWriteParameters): Promise<T>;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise<UpdateByFilterResponse | T> {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch<T>(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post<T>(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise<DeleteResponse<T>> {\n return this.apiCall.delete<DeleteResponse<T>>(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"createMany is deprecated and will be removed in a future version. Use import instead, which now takes both an array of documents or a JSONL string of documents\",\n );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise<string>;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise<ImportResponse<T>[]>;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise<string | ImportResponse<T>[]> {\n // Set default value for throwOnFail if not provided\n const finalOptions = { throwOnFail: true, ...options };\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n if (documents.length === 0) {\n throw new RequestMalformed(\"No documents provided\");\n }\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${error}\n It looks like you have reached a Node.js limit that restricts the number of keys in an Object: https://stackoverflow.com/questions/9282869/are-there-limits-to-the-number-of-properties-in-a-javascript-object\n\n Please try reducing the number of keys in your document, or using CURL to import your data.\n `);\n }\n\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n if (isEmptyString(documentsInJSONLFormat)) {\n throw new RequestMalformed(\"No documents provided\");\n }\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest<string>(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: finalOptions,\n bodyParameters: documentsInJSONLFormat,\n additionalHeaders: { \"Content-Type\": \"text/plain\" },\n skipConnectionTimeout: true, // We never want to client-side-timeout on an import and retry, since imports are syncronous and we want to let them take as long as it takes to complete fully\n enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse<T>[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0 && finalOptions.throwOnFail) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n {\n documentsInJSONLFormat,\n options: finalOptions,\n failedItems,\n successCount: resultsInJSONFormat.length - failedItems.length,\n },\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise<ImportResponse<T>[]> {\n const finalOptions = { throwOnFail: true, ...options };\n \n const resultsInJSONLFormat = await this.apiCall.performRequest<string>(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: finalOptions,\n bodyParameters: readableStream,\n additionalHeaders: { \"Content-Type\": \"text/plain\" },\n skipConnectionTimeout: true, // We never want to client-side-timeout on an import and retry, since imports are syncronous and we want to let them take as long as it takes to complete fully\n enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse<T>[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0 && finalOptions.throwOnFail) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n {\n documentsInJSONLFormat: readableStream,\n options: finalOptions,\n failedItems,\n successCount: resultsInJSONFormat.length - failedItems.length,\n },\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise<string> {\n return this.apiCall.get<string>(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise<ReadStream> {\n return this.apiCall.get<ReadStream>(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n\nfunction isEmptyString(str: string | null | undefined): boolean {\n return str == null || str === \"\" || str.length === 0;\n}\n\n/**\n * @deprecated Import from './Types' instead\n */\nexport type {\n SearchParams,\n WriteableDocuments,\n SearchableDocuments,\n DropTokensMode,\n OperationMode,\n UnionArrayKeys,\n UnionArraySearchParams,\n ArraybleParams,\n ExtractBaseTypes,\n SearchResponseRequestParams,\n} from \"./Types\";\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport type { DocumentImportParameters, ImportResponse } from \"../Documents\";\nimport { ReadStream } from \"node:fs\";\n\ninterface ImportErrorPayload {\n documentsInJSONLFormat: string | ReadStream;\n options: DocumentImportParameters;\n failedItems: ImportResponse[];\n successCount: number;\n}\n\nexport default class ImportError extends TypesenseError {\n payload: ImportErrorPayload;\n importResults: ImportResponse[];\n constructor(\n message: string,\n importResults: ImportResponse[],\n payload: ImportErrorPayload,\n ) {\n super(message);\n this.importResults = importResults;\n this.payload = payload;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n httpBody?: string;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string, httpBody?: string, httpStatus?: number) {\n super(message);\n this.name = new.target.name;\n this.httpBody = httpBody;\n this.httpStatus = httpStatus;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise<HealthResponse> {\n return this.apiCall.get<HealthResponse>(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n actions: Actions[] | (string & {})[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n autodelete?: boolean;\n}\n\ntype CRUDActions = \"create\" | \"delete\" | \"get\" | \"list\" | \"*\";\ntype DocumentActionTypes =\n | \"search\"\n | \"get\"\n | \"create\"\n | \"upsert\"\n | \"update\"\n | \"delete\"\n | \"import\"\n | \"export\"\n | \"*\";\n\ntype CRUDFeatures =\n | \"collections\"\n | \"aliases\"\n | \"synonyms\"\n | \"overrides\"\n | \"stopwords\"\n | \"keys\"\n | \"analytics\"\n | \"analytics/rules\";\n\ntype FeatureActions = `${CRUDFeatures}:${CRUDActions}`;\ntype DocumentActions = `documents:${DocumentActionTypes}`;\ntype AnalyticsEventActions = \"analytics/events:create\";\ntype MiscActions = `${`metrics.json` | `stats.json` | `debug`}.list` | \"*\";\n\nexport type Actions =\n | FeatureActions\n | DocumentActions\n | AnalyticsEventActions\n | MiscActions;\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(\n private id: number,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<KeySchema> {\n return this.apiCall.get<KeySchema>(this.endpointPath());\n }\n\n async delete(): Promise<KeyDeleteSchema> {\n return this.apiCall.delete<KeyDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport type { DocumentSchema, SearchParams } from \"./Documents\";\nimport { normalizeArrayableParams } from \"./Utils\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams<\n T extends DocumentSchema,\n Infix extends string,\n> extends Partial<SearchParams<T, Infix>> {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise<KeySchema> {\n return this.apiCall.post<KeySchema>(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise<KeysRetrieveSchema> {\n return this.apiCall.get<KeysRetrieveSchema>(RESOURCEPATH);\n }\n\n generateScopedSearchKey<T extends DocumentSchema, const Infix extends string>(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams<T, Infix>,\n ): string {\n // Note: only a key generated with the `documents:search` action will be\n // accepted by the server, when used with the search endpoint.\n const normalizedParams = normalizeArrayableParams<\n T,\n SearchParams<T, Infix>,\n Infix\n >(parameters);\n const paramsJSON = JSON.stringify(normalizedParams);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\"),\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise<MetricsResponse> {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import type ApiCall from \"./ApiCall\";\nimport type Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport type {\n DocumentSchema,\n ExtractBaseTypes,\n SearchOptions,\n SearchParams,\n SearchResponse,\n} from \"./Documents\";\nimport { normalizeArrayableParams } from \"./Utils\";\nimport type {\n MultiSearchRequestsSchema,\n MultiSearchRequestsWithUnionSchema,\n MultiSearchResponse,\n MultiSearchUnionParameters,\n MultiSearchResultsParameters,\n UnionSearchResponse,\n MultiSearchRequestsWithoutUnionSchema,\n} from \"./Types\";\nimport { Logger } from \"loglevel\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n readonly logger: Logger;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false,\n ) {\n this.requestWithCache = new RequestWithCache();\n this.logger = this.apiCall.logger;\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform<\n const T extends DocumentSchema[] = [],\n const Infix extends string = string,\n >(\n searchRequests: MultiSearchRequestsWithUnionSchema<T[number], Infix>,\n commonParams?: MultiSearchUnionParameters<T[number], Infix>,\n options?: SearchOptions,\n ): Promise<UnionSearchResponse<T[number]>>;\n\n async perform<\n const T extends DocumentSchema[] = [],\n const Infix extends string = string,\n >(\n searchRequests: MultiSearchRequestsWithoutUnionSchema<T[number], Infix>,\n commonParams?: MultiSearchResultsParameters<T, Infix>,\n options?: SearchOptions,\n ): Promise<{\n results: { [Index in keyof T]: SearchResponse<T[Index]> } & {\n length: T[\"length\"];\n };\n }>;\n\n async perform<\n const T extends DocumentSchema[] = [],\n const Infix extends string = string,\n >(\n searchRequests: MultiSearchRequestsSchema<T[number], Infix>,\n commonParams?:\n | MultiSearchUnionParameters<T[number], Infix>\n | MultiSearchResultsParameters<T, Infix>,\n options?: SearchOptions,\n ): Promise<MultiSearchResponse<T, Infix>> {\n const params = commonParams ? { ...commonParams } : {};\n const cacheSearchResultsForSeconds =\n options?.cacheSearchResultsForSeconds ??\n this.configuration.cacheSearchResultsForSeconds;\n\n if (this.configuration.useServerSideSearchCache === true) {\n params.use_cache = true;\n }\n\n if (searchRequests.union === true && this.hasAnySearchObjectPagination(searchRequests)) {\n this.logger.warn(\n \"Individual `searches` pagination parameters are ignored when `union: true` is set. Use a top-level pagination parameter instead. See https://typesense.org/docs/29.0/api/federated-multi-search.html#union-search\"\n );\n }\n\n const normalizedSearchRequests: Omit<typeof searchRequests, \"searches\"> & {\n searches: ExtractBaseTypes<SearchParams<T[number], Infix>>[];\n } = {\n union: searchRequests.union,\n searches: searchRequests.searches.map(\n normalizeArrayableParams<\n T[number],\n SearchParams<T[number], Infix>,\n Infix\n >,\n ),\n };\n\n const { streamConfig, ...paramsWithoutStream } = params;\n const normalizedQueryParams = normalizeArrayableParams(\n paramsWithoutStream as SearchParams<T[number], Infix>,\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n \"post\",\n {\n path: RESOURCEPATH,\n body: normalizedSearchRequests,\n queryParams: normalizedQueryParams,\n headers: this.useTextContentType\n ? { \"content-type\": \"text/plain\" }\n : {},\n streamConfig,\n abortSignal: options?.abortSignal,\n isStreamingRequest: this.isStreamingRequest(params),\n },\n cacheSearchResultsForSeconds !== undefined\n ? { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n : undefined,\n );\n }\n\n private isStreamingRequest(commonParams: { streamConfig?: unknown }) {\n return commonParams.streamConfig !== undefined;\n }\n\n private hasAnySearchObjectPagination(searchRequests: MultiSearchRequestsSchema<DocumentSchema, string>) {\n return searchRequests.searches.some(search => search.page !== undefined || search.per_page !== undefined || search.offset !== undefined || search.limit !== undefined || search.limit_hits !== undefined);\n }\n}\n\nexport type {\n MultiSearchRequestsSchema,\n MultiSearchRequestsWithUnionSchema,\n MultiSearchResponse,\n MultiSearchUnionParameters,\n MultiSearchResultsParameters,\n UnionSearchResponse,\n MultiSearchRequestsWithoutUnionSchema,\n} from \"./Types\";\n","import ApiCall from \"./ApiCall\";\nimport NLSearchModels from \"./NLSearchModels\";\nimport type { NLSearchModelBase, NLSearchModelSchema } from \"./NLSearchModels\";\n\ntype NLSearchModelUpdateSchema = NLSearchModelBase;\n\nexport interface NLSearchModelDeleteSchema {\n id: string;\n}\n\nexport default class NLSearchModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<NLSearchModelSchema> {\n return this.apiCall.get<NLSearchModelSchema>(this.endpointPath());\n }\n\n async update(\n schema: NLSearchModelUpdateSchema,\n ): Promise<NLSearchModelSchema> {\n return this.apiCall.put<NLSearchModelSchema>(this.endpointPath(), schema);\n }\n\n async delete(): Promise<NLSearchModelDeleteSchema> {\n return this.apiCall.delete<NLSearchModelDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${NLSearchModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/nl_search_models\";\n\n// Base schema with all possible fields\nexport interface NLSearchModelBase {\n model_name: string;\n api_key?: string;\n api_url?: string;\n max_bytes?: number;\n temperature?: number;\n system_prompt?: string;\n // Google-specific parameters\n top_p?: number;\n top_k?: number;\n stop_sequences?: string[];\n api_version?: string;\n // GCP Vertex AI specific\n project_id?: string;\n access_token?: string;\n refresh_token?: string;\n client_id?: string;\n client_secret?: string;\n region?: string;\n max_output_tokens?: number;\n // Cloudflare specific\n account_id?: string;\n}\n\nexport interface NLSearchModelCreateSchema extends NLSearchModelBase {\n id?: string;\n}\n\nexport interface NLSearchModelSchema extends NLSearchModelBase {\n id: string;\n}\n\nexport type NLSearchModelsRetrieveSchema = NLSearchModelSchema[];\n\nexport default class NLSearchModels {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: NLSearchModelCreateSchema,\n ): Promise<NLSearchModelSchema> {\n return this.apiCall.post<NLSearchModelSchema>(this.endpointPath(), schema);\n }\n\n async retrieve(): Promise<NLSearchModelsRetrieveSchema> {\n return this.apiCall.get<NLSearchModelsRetrieveSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return NLSearchModels.RESOURCEPATH;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport interface SchemaChangeStatus {\n collection: string;\n validated_docs: number;\n altered_docs: number;\n}\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName:\n | \"vote\"\n | \"snapshot\"\n | \"cache/clear\"\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- Can't use `object` here, it needs to intersect with `{}`\n | (string & {}),\n queryParameters: Record<string, any> = {},\n ): Promise<any> {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters,\n );\n }\n\n async getSchemaChanges(): Promise<SchemaChangeStatus[]> {\n return this.apiCall.get<SchemaChangeStatus[]>(\n `${RESOURCEPATH}/schema_changes`,\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise<OverrideSchema> {\n return this.apiCall.get<OverrideSchema>(this.endpointPath());\n }\n\n async delete(): Promise<OverrideDeleteSchema> {\n return this.apiCall.delete<OverrideDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise<OverrideSchema> {\n return this.apiCall.put<OverrideSchema>(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise<OverridesRetrieveSchema> {\n return this.apiCall.get<OverridesRetrieveSchema>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { DocumentSchema } from \"./Documents\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema<T extends DocumentSchema>\n extends PresetCreateSchema<T, string> {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(\n private presetId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve<T extends DocumentSchema>(): Promise<PresetSchema<T>> {\n return this.apiCall.get<PresetSchema<T>>(this.endpointPath());\n }\n\n async delete(): Promise<PresetDeleteSchema> {\n return this.apiCall.delete<PresetDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport type { DocumentSchema, SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\nimport { normalizeArrayableParams } from \"./Utils\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema<\n T extends DocumentSchema,\n Infix extends string,\n> {\n value: SearchParams<T, Infix> | MultiSearchRequestsSchema<T, Infix>;\n}\n\nexport interface PresetsRetrieveSchema<T extends DocumentSchema> {\n presets: PresetSchema<T>[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert<T extends DocumentSchema, const Infix extends string>(\n presetId: string,\n params: PresetCreateSchema<T, Infix>,\n ): Promise<PresetSchema<T>> {\n if (typeof params.value === \"object\" && \"searches\" in params.value) {\n const normalizedParams = params.value.searches.map((search) =>\n normalizeArrayableParams<T, SearchParams<T, Infix>, Infix>(search),\n );\n\n return this.apiCall.put<PresetSchema<T>>(this.endpointPath(presetId), {\n value: { searches: normalizedParams },\n });\n }\n const normalizedParams = normalizeArrayableParams<\n T,\n SearchParams<T, Infix>,\n Infix\n >(params.value);\n\n return this.apiCall.put<PresetSchema<T>>(this.endpointPath(presetId), {\n value: normalizedParams,\n });\n }\n\n async retrieve<T extends DocumentSchema>(): Promise<\n PresetsRetrieveSchema<T>\n > {\n return this.apiCall.get<PresetsRetrieveSchema<T>>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import { AxiosRequestConfig } from \"axios\";\nimport type { DocumentSchema } from \"./Documents\";\nimport { HttpClient } from \"./ApiCall\";\nimport type { RequestParams } from \"./Types\";\n\nconst defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\ninterface CacheEntry<T> {\n requestTimestamp: number;\n response: T;\n}\n\ninterface PromiseCacheEntry<T> {\n requestTimestamp: number;\n responsePromise: Promise<T>;\n}\n\nexport default class RequestWithCache {\n private responseCache: Map<string, CacheEntry<unknown>> = new Map();\n private responsePromiseCache: Map<string, PromiseCacheEntry<unknown>> =\n new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n async perform<\n const TContext extends HttpClient,\n const TMethod extends keyof HttpClient,\n const TDoc extends DocumentSchema[],\n TResult,\n >(\n requestContext: TContext,\n methodName: TMethod,\n requestParams: RequestParams<TDoc>,\n cacheOptions: CacheOptions | undefined,\n ): Promise<TResult> {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions || {};\n const isCacheDisabled =\n cacheOptions === undefined ||\n cacheResponseForSeconds <= 0 ||\n maxSize <= 0;\n\n const {\n path,\n queryParams,\n body,\n headers,\n streamConfig,\n abortSignal,\n responseType,\n isStreamingRequest,\n } = requestParams;\n\n if (isCacheDisabled) {\n return this.executeRequest<TResult>(\n requestContext,\n methodName,\n path,\n queryParams,\n body,\n headers,\n { abortSignal, responseType, streamConfig, isStreamingRequest },\n );\n }\n\n const requestParamsJSON = JSON.stringify(requestParams);\n const cacheEntry = this.responseCache.get(requestParamsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestParamsJSON);\n this.responseCache.set(requestParamsJSON, cacheEntry);\n return cacheEntry.response as TResult;\n } else {\n this.responseCache.delete(requestParamsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(requestParamsJSON);\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestParamsJSON);\n this.responsePromiseCache.set(requestParamsJSON, cachePromiseEntry);\n return cachePromiseEntry.responsePromise as Promise<TResult>;\n } else {\n this.responsePromiseCache.delete(requestParamsJSON);\n }\n }\n\n const responsePromise = this.executeRequest<TResult>(\n requestContext,\n methodName,\n path,\n queryParams,\n body,\n headers,\n { abortSignal, responseType, streamConfig, isStreamingRequest },\n );\n\n this.responsePromiseCache.set(requestParamsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestParamsJSON, {\n requestTimestamp: now,\n response: response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n if (oldestEntry) {\n this.responseCache.delete(oldestEntry);\n }\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n if (oldestEntry) {\n this.responsePromiseCache.delete(oldestEntry);\n }\n }\n return response;\n }\n\n private executeRequest<TResult>(\n context: HttpClient,\n methodName: keyof HttpClient,\n path: string,\n queryParams: Record<string, unknown> = {},\n body?: unknown,\n headers?: Record<string, string>,\n options?: {\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"];\n streamConfig?: any;\n isStreamingRequest: boolean | undefined;\n },\n ): Promise<TResult> {\n const method = context[methodName];\n\n switch (methodName) {\n case \"get\":\n return (method as HttpClient[\"get\"]).call(context, path, queryParams, {\n abortSignal: options?.abortSignal,\n responseType: options?.responseType,\n streamConfig: options?.streamConfig,\n isStreamingRequest: options?.isStreamingRequest,\n }) as Promise<TResult>;\n\n case \"delete\":\n return (method as HttpClient[\"delete\"]).call(\n context,\n path,\n queryParams,\n ) as Promise<TResult>;\n\n case \"post\":\n return (method as HttpClient[\"post\"]).call(\n context,\n path,\n body,\n queryParams,\n headers || {},\n {\n abortSignal: options?.abortSignal,\n responseType: options?.responseType,\n streamConfig: options?.streamConfig,\n isStreamingRequest: options?.isStreamingRequest,\n },\n ) as Promise<TResult>;\n\n case \"put\":\n case \"patch\":\n return (method as HttpClient[typeof methodName]).call(\n context,\n path,\n body,\n queryParams,\n ) as Promise<TResult>;\n\n default:\n throw new Error(`Unsupported method: ${String(methodName)}`);\n }\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n\nexport type { RequestParams } from \"./Types\";\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record<\n string,\n SearchOnlyCollection<DocumentSchema>\n >;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections<TDocumentSchema extends DocumentSchema>(\n collectionName: string,\n ): SearchOnlyCollection<TDocumentSchema> {\n if (!collectionName) {\n throw new Error(\n \"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\"\n );\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new SearchOnlyCollection(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[\n collectionName\n ] as SearchOnlyCollection<TDocumentSchema>;\n }\n }\n}\n","import type { DocumentSchema } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\nimport type { SearchableDocuments } from \"./Types\";\n\nexport class SearchOnlyCollection<T extends DocumentSchema> {\n private readonly _documents: SearchableDocuments<T>;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments<T> {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchOptions,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\nimport { normalizeArrayableParams } from \"./Utils\";\nimport { SearchableDocuments, SearchParams } from \"./Types\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments<T extends DocumentSchema>\n implements SearchableDocuments<T>\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration,\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search<const Infix extends string>(\n searchParameters: SearchParams<T, Infix> | SearchParamsWithPreset<T, Infix>,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {},\n ): Promise<SearchResponse<T>> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n\n const { streamConfig, ...rest } = normalizeArrayableParams<\n T,\n SearchParams<T, Infix>,\n Infix\n >(searchParameters);\n\n const queryParams = {\n ...additionalQueryParams,\n ...rest,\n };\n\n const isStreamingRequest = queryParams.conversation_stream === true;\n\n return this.requestWithCache.perform<\n ApiCall,\n \"get\",\n [T],\n SearchResponse<T>\n >(\n this.apiCall,\n \"get\",\n {\n path: this.endpointPath(\"search\"),\n queryParams,\n streamConfig,\n abortSignal,\n isStreamingRequest,\n },\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n },\n );\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise<StatsResponse> {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import type ApiCall from \"./ApiCall\";\nimport StemmingDictionaries from \"./StemmingDictionaries\";\nimport StemmingDictionary from \"./StemmingDictionary\";\n\nconst RESOURCEPATH = \"/stemming\";\n\nexport default class Stemming {\n private readonly _stemmingDictionaries: StemmingDictionaries;\n private readonly individualStemmingDictionaries: Record<\n string,\n StemmingDictionary\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._stemmingDictionaries = new StemmingDictionaries(this.apiCall);\n }\n\n dictionaries(): StemmingDictionaries;\n dictionaries(id: string): StemmingDictionary;\n dictionaries(id?: string): StemmingDictionaries | StemmingDictionary {\n if (id === undefined) {\n return this._stemmingDictionaries;\n } else {\n if (this.individualStemmingDictionaries[id] === undefined) {\n this.individualStemmingDictionaries[id] = new StemmingDictionary(\n id,\n this.apiCall,\n );\n }\n return this.individualStemmingDictionaries[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport type { StemmingDictionaryCreateSchema } from \"./StemmingDictionary\";\n\nconst RESOURCEPATH = \"/stemming/dictionaries\";\n\nexport interface StemmingDictionariesRetrieveSchema {\n dictionaries: string[];\n}\n\nexport default class StemmingDictionaries {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n id: string,\n wordRootCombinations: StemmingDictionaryCreateSchema[] | string,\n ): Promise<StemmingDictionaryCreateSchema[] | string> {\n const wordRootCombinationsInJSONLFormat = Array.isArray(\n wordRootCombinations,\n )\n ? wordRootCombinations.map((combo) => JSON.stringify(combo)).join(\"\\n\")\n : wordRootCombinations;\n\n const resultsInJSONLFormat = await this.apiCall.performRequest<string>(\n\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: {id},\n bodyParameters: wordRootCombinationsInJSONLFormat,\n additionalHeaders: {\"Content-Type\": \"text/plain\"},\n skipConnectionTimeout: true,\n }\n );\n\n return Array.isArray(wordRootCombinations)\n ? resultsInJSONLFormat\n .split(\"\\n\")\n .map((line) => JSON.parse(line) as StemmingDictionaryCreateSchema)\n : resultsInJSONLFormat;\n }\n\n async retrieve(): Promise<StemmingDictionariesRetrieveSchema> {\n return this.apiCall.get<StemmingDictionariesRetrieveSchema>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return operation === undefined\n ? `${StemmingDictionaries.RESOURCEPATH}`\n : `${StemmingDictionaries.RESOURCEPATH}/${encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport StemmingDictionaries from \"./StemmingDictionaries\";\n\nexport interface StemmingDictionaryCreateSchema {\n root: string;\n word: string;\n}\n\nexport interface StemmingDictionarySchema {\n id: string;\n words: StemmingDictionaryCreateSchema[];\n}\n\nexport interface StemmingDictionaryDeleteSchema {\n id: string;\n}\n\nexport default class StemmingDictionary {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<StemmingDictionarySchema> {\n return this.apiCall.get<StemmingDictionarySchema>(this.endpointPath());\n }\n\n async delete(): Promise<StemmingDictionaryDeleteSchema> {\n return this.apiCall.delete<StemmingDictionaryDeleteSchema>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${StemmingDictionaries.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords from \"./Stopwords\";\n\nexport interface StopwordSchema {\n id: string;\n stopwords: string[] | { id: string; stopwords: string[] };\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<StopwordSchema> {\n return this.apiCall.get<StopwordSchema>(this.endpointPath());\n }\n\n async delete(): Promise<StopwordDeleteSchema> {\n return this.apiCall.delete<StopwordDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise<StopwordSchema> {\n return this.apiCall.put<StopwordSchema>(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise<StopwordsRetrieveSchema> {\n return this.apiCall.get<StopwordsRetrieveSchema>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\n/**\n * @deprecated Deprecated starting with Typesense Server v30. Please migrate to `client.synonymSets` (new Synonym Sets APIs).\n */\nexport default class Synonym {\n private static hasWarnedDeprecation = false;\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise<SynonymSchema> {\n return this.apiCall.get<SynonymSchema>(this.endpointPath());\n }\n\n async delete(): Promise<SynonymDeleteSchema> {\n return this.apiCall.delete<SynonymDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n if (!Synonym.hasWarnedDeprecation) {\n // eslint-disable-next-line no-console\n console.warn(\n \"[typesense] 'synonym' APIs are deprecated starting with Typesense Server v30. Please migrate to synonym sets 'synonym_sets'.\",\n );\n Synonym.hasWarnedDeprecation = true;\n }\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport SynonymSets from \"./SynonymSets\";\nimport type { SynonymSetCreateSchema, SynonymSetSchema } from \"./SynonymSets\";\nimport SynonymSetItems from \"./SynonymSetItems\";\nimport SynonymSetItem from \"./SynonymSetItem\";\n\nexport interface SynonymSetDeleteSchema {\n name: string;\n}\n\nexport type SynonymSetRetrieveSchema = SynonymSetCreateSchema;\n\nexport default class SynonymSet {\n private readonly _items: SynonymSetItems;\n private individualItems: Record<string, SynonymSetItem> = {};\n constructor(\n private synonymSetName: string,\n private apiCall: ApiCall,\n ) {\n this._items = new SynonymSetItems(this.synonymSetName, apiCall);\n }\n\n async upsert(\n params: SynonymSetCreateSchema,\n ): Promise<SynonymSetCreateSchema> {\n return this.apiCall.put<SynonymSetSchema>(this.endpointPath(), params);\n }\n\n async retrieve(): Promise<SynonymSetRetrieveSchema> {\n return this.apiCall.get<SynonymSetRetrieveSchema>(this.endpointPath());\n }\n\n async delete(): Promise<SynonymSetDeleteSchema> {\n return this.apiCall.delete<SynonymSetDeleteSchema>(this.endpointPath());\n }\n\n items(): SynonymSetItems;\n items(itemId: string): SynonymSetItem;\n items(itemId?: string): SynonymSetItems | SynonymSetItem {\n if (itemId === undefined) {\n return this._items;\n } else {\n if (this.individualItems[itemId] === undefined) {\n this.individualItems[itemId] = new SynonymSetItem(\n this.synonymSetName,\n itemId,\n this.apiCall,\n );\n }\n return this.individualItems[itemId];\n }\n }\n\n private endpointPath(): string {\n return `${SynonymSets.RESOURCEPATH}/${encodeURIComponent(this.synonymSetName)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport SynonymSets, { SynonymItemSchema } from \"./SynonymSets\";\n\nexport interface SynonymSetItemDeleteSchema {\n id: string;\n}\n\nexport default class SynonymSetItem {\n constructor(\n private synonymSetName: string,\n private itemId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<SynonymItemSchema> {\n return this.apiCall.get<SynonymItemSchema>(this.endpointPath());\n }\n\n async delete(): Promise<SynonymSetItemDeleteSchema> {\n return this.apiCall.delete<SynonymSetItemDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${SynonymSets.RESOURCEPATH}/${encodeURIComponent(this.synonymSetName)}/items/${encodeURIComponent(this.itemId)}`;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\nimport SynonymSets, { SynonymItemSchema } from \"./SynonymSets\";\n\nexport default class SynonymSetItems {\n constructor(\n private synonymSetName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n itemId: string,\n params: Omit<SynonymItemSchema, \"id\">,\n ): Promise<SynonymItemSchema> {\n return this.apiCall.put<SynonymItemSchema>(\n this.endpointPath(itemId),\n params,\n );\n }\n\n async retrieve(): Promise<SynonymItemSchema[]> {\n return this.apiCall.get<SynonymItemSchema[]>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${SynonymSets.RESOURCEPATH}/${encodeURIComponent(this.synonymSetName)}/items${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\n\nexport interface SynonymItemSchema {\n id: string;\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymSetCreateSchema {\n items: SynonymItemSchema[];\n}\n\nexport interface SynonymSetSchema extends SynonymSetCreateSchema {\n name: string;\n}\n\nexport interface SynonymSetsRetrieveSchema {\n synonym_sets: SynonymSetSchema[];\n}\n\nexport default class SynonymSets {\n constructor(private apiCall: ApiCall) {}\n static readonly RESOURCEPATH = \"/synonym_sets\";\n\n async retrieve(): Promise<SynonymSetSchema[]> {\n return this.apiCall.get<SynonymSetSchema[]>(SynonymSets.RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\n/**\n * @deprecated Deprecated starting with Typesense Server v30. Please migrate to `client.synonymSets` (new Synonym Sets APIs).\n */\nexport default class Synonyms {\n private static hasWarnedDeprecation = false;\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise<SynonymSchema> {\n return this.apiCall.put<SynonymSchema>(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise<SynonymsRetrieveSchema> {\n return this.apiCall.get<SynonymsRetrieveSchema>(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n if (!Synonyms.hasWarnedDeprecation) {\n // eslint-disable-next-line no-console\n console.warn(\n \"[typesense] 'synonyms' APIs are deprecated starting with Typesense Server v30. Please migrate to synonym sets ('synonym_sets').\",\n );\n Synonyms.hasWarnedDeprecation = true;\n }\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import type { AxiosRequestConfig } from \"axios\";\nimport type { BaseStreamConfig, StreamConfig } from \"./Configuration\";\nimport type {\n DocumentSchema,\n SearchParamsWithPreset,\n SearchOptions,\n SearchResponse,\n DocumentWriteParameters,\n DeleteQuery,\n DeleteResponse,\n ImportResponse,\n DocumentsExportParameters,\n} from \"./Documents\";\n\nexport type DropTokensMode = \"right_to_left\" | \"left_to_right\" | \"both_sides:3\";\n\nexport type OperationMode = \"off\" | \"always\" | \"fallback\";\n\nexport type CommaSeparated<\n T extends string,\n ToExtend,\n OriginalString extends string = T,\n Previous extends string[] = [],\n> = T extends `${infer Start},${infer Rest}`\n ? TrimString<Start> extends ToExtend\n ? CommaSeparated<\n Rest,\n ToExtend,\n OriginalString,\n [...Previous, TrimString<Start>]\n >\n : {\n error: \"Invalid operation mode\";\n value: TrimString<Start>;\n }\n : TrimString<T> extends ToExtend\n ? OriginalString\n : {\n error: \"Invalid operation mode\";\n value: TrimString<T>;\n };\n\nexport type MessageChunk = {\n message: string;\n conversation_id: string;\n};\n\nexport type UnionArrayKeys<T> = {\n [K in keyof T]: T[K] extends undefined\n ? never\n : NonNullable<T[K]> extends infer R\n ? R extends R[]\n ? never\n : R extends (infer U)[] | infer U\n ? U[] extends R\n ? K\n : never\n : never\n : never;\n}[keyof T] &\n keyof T;\n\nexport type UnionArraySearchParams<T extends DocumentSchema = DocumentSchema> =\n UnionArrayKeys<T>;\n\nexport type ArraybleParams<T extends DocumentSchema = DocumentSchema> = {\n readonly [K in UnionArraySearchParams<T>]: string;\n};\n\nexport type ExtractBaseTypes<T> = {\n [K in keyof T]: K extends UnionArrayKeys<T>\n ? T[K] extends (infer U)[] | infer U\n ? U\n : T[K]\n : T[K];\n};\n\nexport const arrayableParams: ArraybleParams = {\n query_by: \"query_by\",\n query_by_weights: \"query_by_weights\",\n facet_by: \"facet_by\",\n group_by: \"group_by\",\n include_fields: \"include_fields\",\n exclude_fields: \"exclude_fields\",\n highlight_fields: \"highlight_fields\",\n highlight_full_fields: \"highlight_full_fields\",\n pinned_hits: \"pinned_hits\",\n hidden_hits: \"hidden_hits\",\n infix: \"infix\",\n override_tags: \"override_tags\",\n num_typos: \"num_typos\",\n prefix: \"prefix\",\n synonym_sets: \"synonym_sets\",\n sort_by: \"sort_by\",\n};\n\nexport interface SearchParams<\n TDoc extends DocumentSchema,\n Infix extends string = string,\n> {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- Can't use `object` here, it needs to intersect with `{}`\n q?: \"*\" | (string & {});\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n max_filter_by_candidates?: number; // default: 4\n enable_synonyms?: boolean; // default: true\n enable_analytics?: boolean; // default: true\n filter_curated_hits?: boolean; // default: false\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n facet_strategy?: \"exhaustive\" | \"top_values\" | \"automatic\";\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: <mark>\n highlight_end_tag?: string; // default: </mark>\n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n nl_query?: boolean;\n nl_model_id?: string;\n nl_query_debug?: boolean;\n nl_query_prompt_cache_ttl?: number;\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n synonym_sets?: string[] | string;\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?:\n | CommaSeparated<Infix, OperationMode>\n | OperationMode[]\n | OperationMode;\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\" | \"sum_score\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n validate_field_names?: boolean;\n conversation_stream?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n streamConfig?: StreamConfig<TDoc>;\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\nexport interface SearchableDocuments<\n T extends DocumentSchema = DocumentSchema,\n Infix extends string = string,\n> {\n search(\n searchParameters: SearchParams<T, Infix> | SearchParamsWithPreset<T, Infix>,\n options: SearchOptions,\n ): Promise<SearchResponse<T>>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments<T> {\n create(document: T, options: DocumentWriteParameters): Promise<T>;\n upsert(document: T, options: DocumentWriteParameters): Promise<T>;\n update(document: T, options: DocumentWriteParameters): Promise<T>;\n delete(query: DeleteQuery): Promise<DeleteResponse>;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise<string | ImportResponse[]>;\n export(options: DocumentsExportParameters): Promise<string>;\n}\n\nexport interface MultiSearchUnionStreamConfig<T extends DocumentSchema>\n extends BaseStreamConfig {\n onComplete?: (data: UnionSearchResponse<T>) => void;\n}\n\nexport interface MultiSearchResultsStreamConfig<T extends DocumentSchema[]>\n extends BaseStreamConfig {\n onComplete?: (data: {\n results: { [Index in keyof T]: SearchResponse<T[Index]> } & {\n length: T[\"length\"];\n };\n }) => void;\n}\nexport interface RequestParams<T extends DocumentSchema[]> {\n path: string;\n queryParams?: Record<string, unknown>;\n body?: unknown;\n headers?: Record<string, string>;\n streamConfig?:\n | StreamConfig<T[number]>\n | MultiSearchResultsStreamConfig<T>\n | MultiSearchUnionStreamConfig<T[number]>;\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n isStreamingRequest: boolean | undefined;\n}\n\nexport interface MultiSearchRequestsWithUnionSchema<\n T extends DocumentSchema,\n Infix extends string,\n> extends SearchesMultiSearchesRequestSchema<T, Infix> {\n union: true;\n}\n\nexport interface MultiSearchRequestsWithoutUnionSchema<\n T extends DocumentSchema,\n Infix extends string,\n> extends SearchesMultiSearchesRequestSchema<T, Infix> {\n union?: false | undefined;\n}\n\nexport type MultiSearchRequestsSchema<\n T extends DocumentSchema,\n Infix extends string,\n> =\n | MultiSearchRequestsWithUnionSchema<T, Infix>\n | MultiSearchRequestsWithoutUnionSchema<T, Infix>;\n\nexport interface UnionSearchResponse<T extends DocumentSchema>\n extends Omit<SearchResponse<T>, \"request_params\"> {\n union_request_params: SearchResponseRequestParams[];\n}\n\nexport type MultiSearchResponse<\n T extends DocumentSchema[],\n Infix extends string,\n R extends MultiSearchRequestsSchema<\n T[number],\n Infix\n > = MultiSearchRequestsSchema<T[number], Infix>,\n> =\n R extends MultiSearchRequestsWithUnionSchema<T[number], Infix>\n ? UnionSearchResponse<T[number]>\n : {\n results: { [Index in keyof T]: SearchResponse<T[Index]> } & {\n length: T[\"length\"];\n };\n };\n\nexport interface MultiSearchUnionStreamConfig<T extends DocumentSchema>\n extends BaseStreamConfig {\n onComplete?: (data: UnionSearchResponse<T>) => void;\n}\n\nexport interface MultiSearchResultsStreamConfig<T extends DocumentSchema[]>\n extends BaseStreamConfig {\n onComplete?: (data: {\n results: { [Index in keyof T]: SearchResponse<T[Index]> } & {\n length: T[\"length\"];\n };\n }) => void;\n}\n\ninterface SearchesMultiSearchesRequestSchema<\n T extends DocumentSchema,\n Infix extends string,\n> {\n searches: (\n | MultiSearchRequestSchema<T, Infix>\n | MultiSearchRequestWithPresetSchema<T, Infix>\n )[];\n}\n\ninterface BaseMultiSearchRequestSchema {\n collection?: string;\n rerank_hybrid_matches?: boolean;\n \"x-typesense-api-key\"?: string;\n}\n\ntype CommonMultiSearchParametersBase<\n T extends DocumentSchema,\n Infix extends string,\n> = Partial<\n BaseMultiSearchRequestSchema & Omit<SearchParams<T, Infix>, \"streamConfig\">\n>;\n\nexport type MultiSearchRequestSchema<\n T extends DocumentSchema,\n Infix extends string,\n> = BaseMultiSearchRequestSchema & Omit<SearchParams<T, Infix>, \"streamConfig\">;\n\nexport type MultiSearchRequestWithPresetSchema<\n T extends DocumentSchema,\n Infix extends string,\n> = BaseMultiSearchRequestSchema &\n Omit<SearchParamsWithPreset<T, Infix>, \"streamConfig\">;\n\nexport type MultiSearchUnionParameters<\n T extends DocumentSchema,\n Infix extends string,\n> = CommonMultiSearchParametersBase<T, Infix> & {\n streamConfig?: MultiSearchUnionStreamConfig<T>;\n use_cache?: boolean;\n};\n\nexport type MultiSearchResultsParameters<\n T extends DocumentSchema[],\n Infix extends string,\n> = CommonMultiSearchParametersBase<T[number], Infix> & {\n streamConfig?: MultiSearchResultsStreamConfig<T>;\n use_cache?: boolean;\n};\n\ntype Whitespace = \" \" | \"\\n\" | \"\\t\";\n\ntype TrimString<S extends string> = S extends `${Whitespace}${infer S}`\n ? TrimString<S>\n : S extends `${infer S}${Whitespace}`\n ? TrimString<S>\n : S;\n","import { DocumentSchema } from \"./Documents\";\nimport { arrayableParams } from \"./Types\";\nimport type { UnionArrayKeys, ExtractBaseTypes, SearchParams } from \"./Types\";\n\nfunction hasNoArrayValues<\n TDoc extends DocumentSchema,\n T extends SearchParams<TDoc, Infix>,\n const Infix extends string,\n>(params: T | ExtractBaseTypes<T>): params is ExtractBaseTypes<T> {\n return Object.keys(arrayableParams)\n .filter((key) => params[key] !== undefined)\n .every((key) => isNonArrayValue(params[key]));\n}\n\nexport function normalizeArrayableParams<\n TDoc extends DocumentSchema,\n T extends SearchParams<TDoc, Infix>,\n const Infix extends string,\n>(params: T): Prettify<ExtractBaseTypes<T>> {\n const result = { ...params };\n\n const transformedValues = Object.keys(arrayableParams)\n .filter((key) => Array.isArray(result[key]))\n .map((key) => {\n result[key] = result[key].join(\",\");\n return key;\n });\n\n if (!transformedValues.length && hasNoArrayValues<TDoc, T, Infix>(result)) {\n return result;\n }\n\n if (!hasNoArrayValues<TDoc, T, Infix>(result)) {\n throw new Error(\n `Failed to normalize arrayable params: ${JSON.stringify(result)}`,\n );\n }\n\n return result;\n}\n\nfunction isNonArrayValue<\n TDoc extends DocumentSchema,\n T extends SearchParams<TDoc, Infix>,\n const Infix extends string,\n K extends UnionArrayKeys<T>,\n>(value: T[K] | ExtractBaseTypes<T>[K]): value is ExtractBaseTypes<T>[K] {\n return !Array.isArray(value);\n}\n\ntype Prettify<T> = {\n [K in keyof T]: T[K];\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n} & {};\n\ninterface ErrorWithMessage extends Error {\n message: string;\n}\n\nfunction isErrorWithMessage(error: unknown): error is ErrorWithMessage {\n return (\n typeof error === \"object\" &&\n error !== null &&\n \"message\" in error &&\n typeof (error as Record<string, unknown>).message === \"string\"\n );\n}\n\nexport function toErrorWithMessage(couldBeError: unknown): ErrorWithMessage {\n if (isErrorWithMessage(couldBeError)) return couldBeError;\n\n try {\n if (typeof couldBeError === \"string\") {\n return new Error(couldBeError);\n }\n return new Error(JSON.stringify(couldBeError));\n } catch {\n return new Error(String(couldBeError));\n }\n}\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n var _loggersByName = {};\n var defaultLogger = null;\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, _level, _loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n function normalizeLevel(input) {\n var level = input;\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name,\n defaultLogger.methodFactory\n );\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction _regenerator() {\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\n var e,\n t,\n r = \"function\" == typeof Symbol ? Symbol : {},\n n = r.iterator || \"@@iterator\",\n o = r.toStringTag || \"@@toStringTag\";\n function i(r, n, o, i) {\n var c = n && n.prototype instanceof Generator ? n : Generator,\n u = Object.create(c.prototype);\n return regeneratorDefine(u, \"_invoke\", function (r, n, o) {\n var i,\n c,\n u,\n f = 0,\n p = o || [],\n y = !1,\n G = {\n p: 0,\n n: 0,\n v: e,\n a: d,\n f: d.bind(e, 4),\n d: function d(t, r) {\n return i = t, c = 0, u = e, G.n = r, a;\n }\n };\n function d(r, n) {\n for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {\n var o,\n i = p[t],\n d = G.p,\n l = i[2];\n r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));\n }\n if (o || r > 1) return a;\n throw y = !0, n;\n }\n return function (o, p, l) {\n if (f > 1) throw TypeError(\"Generator is already running\");\n for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {\n i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);\n try {\n if (f = 2, i) {\n if (c || (o = \"next\"), t = i[o]) {\n if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\");\n if (!t.done) return t;\n u = t.value, c < 2 && (c = 0);\n } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1);\n i = e;\n } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;\n } catch (t) {\n i = e, c = 1, u = t;\n } finally {\n f = 1;\n }\n }\n return {\n value: t,\n done: y\n };\n };\n }(r, o, i), !0), u;\n }\n var a = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n t = Object.getPrototypeOf;\n var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () {\n return this;\n }), t),\n u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);\n function f(e) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e;\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, \"constructor\", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", regeneratorDefine(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), regeneratorDefine(u), regeneratorDefine(u, o, \"Generator\"), regeneratorDefine(u, n, function () {\n return this;\n }), regeneratorDefine(u, \"toString\", function () {\n return \"[object Generator]\";\n }), (module.exports = _regenerator = function _regenerator() {\n return {\n w: i,\n m: f\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nfunction _regeneratorAsync(n, e, r, t, o) {\n var a = regeneratorAsyncGen(n, e, r, t, o);\n return a.next().then(function (n) {\n return n.done ? n.value : a.next();\n });\n}\nmodule.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regenerator = require(\"./regenerator.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nfunction _regeneratorAsyncGen(r, e, t, o, n) {\n return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);\n}\nmodule.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction AsyncIterator(t, e) {\n function n(r, o, i, f) {\n try {\n var c = t[r](o),\n u = c.value;\n return u instanceof OverloadYield ? e.resolve(u.v).then(function (t) {\n n(\"next\", t, i, f);\n }, function (t) {\n n(\"throw\", t, i, f);\n }) : e.resolve(u).then(function (t) {\n c.value = t, i(c);\n }, function (t) {\n return n(\"throw\", t, i, f);\n });\n } catch (t) {\n f(t);\n }\n }\n var r;\n this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, \"function\" == typeof Symbol && Symbol.asyncIterator || \"@asyncIterator\", function () {\n return this;\n })), regeneratorDefine(this, \"_invoke\", function (t, o, i) {\n function f() {\n return new e(function (e, r) {\n n(t, i, e, r);\n });\n }\n return r = r ? r.then(f, f) : f();\n }, !0);\n}\nmodule.exports = AsyncIterator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorDefine(e, r, n, t) {\n var i = Object.defineProperty;\n try {\n i({}, \"\", {});\n } catch (e) {\n i = 0;\n }\n module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {\n function o(r, n) {\n _regeneratorDefine(e, r, function (e) {\n return this._invoke(r, n, e);\n });\n }\n r ? i ? i(e, r, {\n value: n,\n enumerable: !t,\n configurable: !t,\n writable: !t\n }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2));\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _regeneratorDefine(e, r, n, t);\n}\nmodule.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorKeys(e) {\n var n = Object(e),\n r = [];\n for (var t in n) r.unshift(t);\n return function e() {\n for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;\n return e.done = !0, e;\n };\n}\nmodule.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regenerator = require(\"./regenerator.js\");\nvar regeneratorAsync = require(\"./regeneratorAsync.js\");\nvar regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nvar regeneratorKeys = require(\"./regeneratorKeys.js\");\nvar regeneratorValues = require(\"./regeneratorValues.js\");\nfunction _regeneratorRuntime() {\n \"use strict\";\n\n var r = regenerator(),\n e = r.m(_regeneratorRuntime),\n t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;\n function n(r) {\n var e = \"function\" == typeof r && r.constructor;\n return !!e && (e === t || \"GeneratorFunction\" === (e.displayName || e.name));\n }\n var o = {\n \"throw\": 1,\n \"return\": 2,\n \"break\": 3,\n \"continue\": 3\n };\n function a(r) {\n var e, t;\n return function (n) {\n e || (e = {\n stop: function stop() {\n return t(n.a, 2);\n },\n \"catch\": function _catch() {\n return n.v;\n },\n abrupt: function abrupt(r, e) {\n return t(n.a, o[r], e);\n },\n delegateYield: function delegateYield(r, o, a) {\n return e.resultName = o, t(n.d, regeneratorValues(r), a);\n },\n finish: function finish(r) {\n return t(n.f, r);\n }\n }, t = function t(r, _t, o) {\n n.p = e.prev, n.n = e.next;\n try {\n return r(_t, o);\n } finally {\n e.next = n.n;\n }\n }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;\n try {\n return r.call(this, e);\n } finally {\n n.p = e.prev, n.n = e.next;\n }\n };\n }\n return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return {\n wrap: function wrap(e, t, n, o) {\n return r.w(a(e), t, n, o && o.reverse());\n },\n isGeneratorFunction: n,\n mark: r.m,\n awrap: function awrap(r, e) {\n return new OverloadYield(r, e);\n },\n AsyncIterator: regeneratorAsyncIterator,\n async: function async(r, e, t, o, u) {\n return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);\n },\n keys: regeneratorKeys,\n values: regeneratorValues\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorValues(e) {\n if (null != e) {\n var t = e[\"function\" == typeof Symbol && Symbol.iterator || \"@@iterator\"],\n r = 0;\n if (t) return t.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) return {\n next: function next() {\n return e && r >= e.length && (e = void 0), {\n value: e && e[r++],\n done: !e\n };\n }\n };\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n}\nmodule.exports = _regeneratorValues, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _readOnlyError(r) {\n throw new TypeError('\"' + r + '\" is read-only');\n}\nexport { _readOnlyError as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n * \n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n * \n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n * \n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n * \n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object<string, Function|Object>}\n */\n adapters: knownAdapters\n};\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, err && err.response),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering = transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","\"use strict\";\n\nimport utils from \"../utils.js\";\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) =>\n thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(\n Object.keys({ ...config1, ...config2 }),\n function computeConfigValue(prop) {\n if (\n prop === \"__proto__\" ||\n prop === \"constructor\" ||\n prop === \"prototype\"\n )\n return;\n const merge = utils.hasOwnProp(mergeMap, prop)\n ? mergeMap[prop]\n : mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) ||\n (config[prop] = configValue);\n },\n );\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true\n};\n","export const VERSION = \"1.13.5\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = options && options.encode || encode;\n\n const _options = utils.isFunction(options) ? {\n serialize: options\n } : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","\"use strict\";\n\nimport bind from \"./helpers/bind.js\";\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest(\"undefined\");\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest(\"ArrayBuffer\");\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== \"undefined\" && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest(\"string\");\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest(\"function\");\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest(\"number\");\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === \"object\";\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== \"object\") {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return (\n Object.keys(val).length === 0 &&\n Object.getPrototypeOf(val) === Object.prototype\n );\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest(\"Date\");\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest(\"File\");\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest(\"Blob\");\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest(\"FileList\");\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return (\n thing &&\n ((typeof FormData === \"function\" && thing instanceof FormData) ||\n (isFunction(thing.append) &&\n ((kind = kindOf(thing)) === \"formdata\" ||\n // detect form-data instance\n (kind === \"object\" &&\n isFunction(thing.toString) &&\n thing.toString() === \"[object FormData]\"))))\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest(\"URLSearchParams\");\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n \"ReadableStream\",\n \"Request\",\n \"Response\",\n \"Headers\",\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) =>\n str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, \"\");\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array<unknown>} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === \"undefined\") {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== \"object\") {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys\n ? Object.getOwnPropertyNames(obj)\n : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\"\n ? self\n : typeof window !== \"undefined\"\n ? window\n : global;\n})();\n\nconst isContextDefined = (context) =>\n !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === \"__proto__\" || key === \"constructor\" || key === \"prototype\") {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys },\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(\n superConstructor.prototype,\n descriptors,\n );\n Object.defineProperty(constructor.prototype, \"constructor\", {\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, \"super\", {\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (\n (!propFilter || propFilter(prop, sourceObj, destObj)) &&\n !merged[prop]\n ) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (\n sourceObj &&\n (!filter || filter(sourceObj, destObj)) &&\n sourceObj !== Object.prototype\n );\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== \"undefined\" && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest(\"HTMLFormElement\");\n\nconst toCamelCase = (str) => {\n return str\n .toLowerCase()\n .replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest(\"RegExp\");\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (\n isFunction(obj) &&\n [\"arguments\", \"caller\", \"callee\"].indexOf(name) !== -1\n ) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if (\"writable\" in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString)\n ? define(arrayOrString)\n : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value))\n ? value\n : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === \"FormData\" &&\n thing[iterator]\n );\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!(\"toJSON\" in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\nconst isAsyncFn = kindOfTest(\"AsyncFunction\");\n\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n \"message\",\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false,\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === \"function\", isFunction(_global.postMessage));\n\nconst asap =\n typeof queueMicrotask !== \"undefined\"\n ? queueMicrotask.bind(_global)\n : (typeof process !== \"undefined\" && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Check if module exists (development only)\n\tif (__webpack_modules__[moduleId] === undefined) {\n\t\tvar e = new Error(\"Cannot find module '\" + moduleId + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n\nexport type * from \"./Typesense/Aliases\";\nexport type * from \"./Typesense/AnalyticsRulesV1\";\nexport type * from \"./Typesense/AnalyticsRuleV1\";\nexport type * from \"./Typesense/AnalyticsEvent\";\nexport type * from \"./Typesense/AnalyticsRule\";\nexport type * from \"./Typesense/AnalyticsRules\";\nexport type * from \"./Typesense/Collection\";\nexport type * from \"./Typesense/Collections\";\nexport type * from \"./Typesense/Configuration\";\nexport type * from \"./Typesense/Conversations\";\nexport type * from \"./Typesense/Conversation\";\nexport type * from \"./Typesense/ConversationModel\";\nexport type * from \"./Typesense/Debug\";\nexport type * from \"./Typesense/Documents\";\nexport type * from \"./Typesense/Health\";\nexport type * from \"./Typesense/Key\";\nexport type * from \"./Typesense/Keys\";\nexport type * from \"./Typesense/Metrics\";\nexport type * from \"./Typesense/MultiSearch\";\nexport type * from \"./Typesense/Override\";\nexport type * from \"./Typesense/Overrides\";\nexport type * from \"./Typesense/Preset\";\nexport type * from \"./Typesense/Presets\";\nexport type * from \"./Typesense/Stats\";\nexport type * from \"./Typesense/Stopword\";\nexport type * from \"./Typesense/Stopwords\";\nexport type * from \"./Typesense/Synonym\";\nexport type * from \"./Typesense/Synonyms\";\nexport type * from \"./Typesense/SynonymSet\";\nexport type * from \"./Typesense/SynonymSets\";\nexport type * from \"./Typesense/SynonymSetItem\";\nexport type * from \"./Typesense/SynonymSetItems\";\nexport type * from \"./Typesense/CurationSet\";\nexport type * from \"./Typesense/CurationSets\";\nexport type * from \"./Typesense/CurationSetItem\";\nexport type * from \"./Typesense/CurationSetItems\";\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_context2","delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","AnalyticsRulesV1","AnalyticsRuleV1","_x3","_callee3","ruleTag","query","_context3","_x4","AnalyticsV1","hasWarnedDeprecation","console","warn","axios","Agent","HTTPAgent","HTTPSAgent","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","toErrorWithMessage","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","window","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_ref$streamConfig","streamConfig","isStreamingRequest","_args","length","performRequest","_args2","_post","bodyParameters","_ref2","_ref2$abortSignal","_ref2$responseType","_ref2$streamConfig","_args3","_put","_callee4","_args4","_context4","_patch","_callee5","_args5","_context5","patch","_x5","getAdapter","axiosAdapter","isCloudflareWorkers","navigator","userAgent","bind","globalThis","_performRequest","_callee6","requestType","_ref3","_this","_ref3$queryParameters","_ref3$bodyParameters","_ref3$additionalHeade","_ref3$abortSignal","_ref3$responseType","_ref3$skipConnectionT","skipConnectionTimeout","_ref3$enableKeepAlive","enableKeepAlive","_ref3$streamConfig","requestNumber","lastException","wasAborted","_loop","_ret","numTries","_context7","validate","debug","fetch","Date","now","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$code","_error$response","_t","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","adapter","timeout","keys","httpAgent","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","_objectSpread","Accept","sent","setNodeHealthcheck","handleStreamingResponse","resolve","customErrorForResponse","message","code","invokeOnErrorCallback","timer","removeEventListener","finish","delegateYield","t0","_x6","_x7","_x8","processStreamingLine","line","trim","processDataLine","slice","jsonData","conversation_id","_unused","dataContent","_unused2","_handleStreamingResponse","_callee7","_context8","handleNodeStreaming","handleBrowserStreaming","invokeOnCompleteCallback","_x9","_x0","_this2","stream","allChunks","buffer","on","chunk","_lines$pop","toString","lines","split","pop","processStreamLines","error","finalizeStreamResult","_this3","_ref4","_callee8","_t2","_context9","getReader","handleBrowserReadableStream","handleBrowserStringResponse","_x1","_x10","_handleBrowserReadableStream","_callee9","reader","_yield$reader$read","done","_lines","_t3","_context0","read","TextDecoder","decode","_x11","_x12","_x13","_x14","_x15","finalResult","combineStreamingChunks","_iterator","_createForOfIteratorHelper","_step","s","n","processed","invokeOnChunkCallback","push","err","e","f","chunks","messagesChunks","getMessageChunks","combineMessageChunks","lastChunk","isCompleteSearchResponse","filter","isChunkMessage","metadataChunk","find","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this4","forEach","protocol","host","port","path","_timer","_callee0","seconds","_context1","setTimeout","_x16","messageFromServer","httpBody","errorMessage","onChunk","onComplete","onError","errorObj","callbackError","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Stemming","NLSearchModels","NLSearchModel","SynonymSets","SynonymSet","CurationSets","CurationSet","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","analyticsV1","stemming","_conversations","individualConversations","_nlSearchModels","individualNLSearchModels","_synonymSets","individualSynonymSets","_curationSets","individualCurationSets","collections","collectionName","aliases","presets","stopwords","conversations","nlSearchModels","synonymSets","synonymSetName","curationSets","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","CurationSetItems","CurationSetItem","_items","items","itemId","individualItems","partialDocument","ImportError","SearchOnlyDocuments","_SearchOnlyDocuments","_callSuper","_inherits","document","action","_createMany","import","createMany","_import2","finalOptions","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","throwOnFail","Array","isArray","RangeError","includes","isEmptyString","r","success","successCount","_importStream","readableStream","_args7","importStream","_export2","_args8","export","_exportStream","_args9","exportStream","str","_TypesenseError","importResults","payload","_Error","httpStatus","constructor","setPrototypeOf","prototype","_wrapNativeSuper","createHmac","normalizeArrayableParams","generateScopedSearchKey","searchKey","parameters","normalizedParams","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_options$cacheSearchR","normalizedSearchRequests","paramsWithoutStream","normalizedQueryParams","use_cache","union","hasAnySearchObjectPagination","searches","_objectWithoutProperties","_excluded","perform","body","queryParams","cacheResponseForSeconds","search","page","per_page","offset","limit","limit_hits","operationName","_getSchemaChanges","getSchemaChanges","presetId","_normalizedParams","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","methodName","requestParams","cacheOptions","_ref$cacheResponseFor","_ref$maxSize","maxSize","isCacheDisabled","requestParamsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","executeRequest","requestTimestamp","set","size","context","call","String","SearchOnlyCollection","SearchClient","entries","_slicedToArray","_","collection","_search","searchParameters","_ref$cacheSearchResul","additionalQueryParams","_normalizeArrayablePa","rest","conversation_stream","StemmingDictionaries","StemmingDictionary","_stemmingDictionaries","dictionaries","individualStemmingDictionaries","wordRootCombinations","wordRootCombinationsInJSONLFormat","combo","stopwordId","SynonymSetItems","SynonymSetItem","arrayableParams","query_by","query_by_weights","facet_by","group_by","include_fields","exclude_fields","highlight_fields","highlight_full_fields","pinned_hits","hidden_hits","infix","override_tags","num_typos","prefix","synonym_sets","sort_by","hasNoArrayValues","isNonArrayValue","result","transformedValues","isErrorWithMessage","couldBeError","Errors"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"typesense.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAA2D;AAAA,IAGtCC,KAAK;EACxB,SAAAA,MAAoBC,IAAY,EAAUC,OAAgB,EAAE;IAAAC,iFAAA,OAAAH,KAAA;IAAA,KAAxCC,IAAY,GAAZA,IAAY;IAAA,KAAUC,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAAJ,KAAA;IAAAK,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAE9D,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAwB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACpE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAwB,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACvE;MAAA,SAFKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAU5B,gDAAO,CAAC6B,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC5B,IAAI,CAAC;IACjE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACdH,IAAM2B,YAAY,GAAG,UAAU;AAAC,IAcX7B,OAAO;EAC1B,SAAAA,QAAoBG,OAAgB,EAAE;IAAAC,iFAAA,OAAAJ,OAAA;IAAA,KAAlBG,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAAL,OAAA;IAAAM,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QACEV,IAAY,EACZ+B,OAAoC;QAAA,OAAAvB,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE7B,IAAI,CAACd,OAAO,CAAC+B,GAAG,CACrB,IAAI,CAACf,YAAY,CAACjB,IAAI,CAAC,EACvB+B,OACF,CAAC;YAAA;YAAA;cAAA,OAAAnB,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SARKuB,MAAMA,CAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAUZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAkCW,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAH,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACvE;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAId,SAAQY,YAAYA,CAACmB,SAAS,EAAU;MACtC,UAAAV,MAAA,CAAU5B,OAAO,CAAC6B,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAACQ,SAAS,CAAC;IACjE;EAAC;IAAAhC,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACtC2C;AACF;AACI;AAEhD,IAAMA,YAAY,GAAG,YAAY;AAAC,IAEba,SAAS;EAK5B,SAAAA,UAA6BvC,OAAgB,EAAE;IAAAC,iFAAA,OAAAsC,SAAA;IAAAC,iFAAA,mCAH4B,CAAC,CAAC;IAAA,KAGhDxC,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACyC,eAAe,GAAG,IAAIL,uDAAc,CAAC,IAAI,CAACpC,OAAO,CAAC;IACvD,IAAI,CAAC0C,gBAAgB,GAAG,IAAIJ,wDAAe,CAAC,IAAI,CAACtC,OAAO,CAAC;EAC3D;EAAC,OAAAE,8EAAA,CAAAqC,SAAA;IAAApC,GAAA;IAAAC,KAAA,EAID,SAAAuC,KAAKA,CAACC,EAAW,EAAkC;MACjD,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAACJ,eAAe;MAC7B,CAAC,MAAM;QACL,IAAI,IAAI,CAACK,wBAAwB,CAACF,EAAE,CAAC,KAAKC,SAAS,EAAE;UACnD,IAAI,CAACC,wBAAwB,CAACF,EAAE,CAAC,GAAG,IAAIP,sDAAa,CAACO,EAAE,EAAE,IAAI,CAAC5C,OAAO,CAAC;QACzE;QACA,OAAO,IAAI,CAAC8C,wBAAwB,CAACF,EAAE,CAAC;MAC1C;IACF;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAED,SAAA2C,MAAMA,CAAA,EAAoB;MACxB,OAAO,IAAI,CAACL,gBAAgB;IAC9B;EAAC;IAAAvC,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AClCH,IAAMA,YAAY,GAAG,mBAAmB;AAAC,IAepBY,eAAe;EAClC,SAAAA,gBAA6BtC,OAAgB,EAAE;IAAAC,iFAAA,OAAAqC,eAAA;IAAA,KAAlBtC,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAAC,OAAAE,8EAAA,CAAAoC,eAAA;IAAAnC,GAAA;IAAAC,KAAA;MAAA,IAAA4C,OAAA,GAAA1C,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QACEwC,MAAkC;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE3B,IAAI,CAACd,OAAO,CAACkD,IAAI,CACtB,IAAI,CAAClC,YAAY,CAAC,CAAC,EACnBiC,MACF,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SAPK0C,MAAMA,CAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA7B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+B,MAAM;IAAA;EAAA;IAAAhD,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CASZ,SAAAe,SAAe2B,MAId;QAAA,OAAA1C,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACQ,IAAI,CAACd,OAAO,CAACe,GAAG,CACrB,IAAI,CAACC,YAAY,CAAC,CAAC,EACnBiC,MACF,CAAC;YAAA;YAAA;cAAA,OAAA1B,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SATKJ,QAAQA,CAAAgB,GAAA;QAAA,OAAA7B,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAWd,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,UAAA3B,MAAA,CAAUa,eAAe,CAACZ,YAAY,EAAAD,MAAA,CACpC2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IAEtE;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AClD2C;AAAA,IA4CzBW,aAAa;EAChC,SAAAA,cACUtC,IAAY,EACZC,OAAgB,EACxB;IAAAC,iFAAA,OAAAoC,aAAA;IAAA,KAFQtC,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAmC,aAAA;IAAAlC,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAsB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAClE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAA4B,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC3E;MAAA,SAFKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUW,uDAAc,CAACV,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC5B,IAAI,CAAC;IACxE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC5D+C;AAAA,IA+B7BuD,eAAe;EAClC,SAAAA,gBACUvD,IAAY,EACZC,OAAgB,EACxB;IAAAC,iFAAA,OAAAqD,eAAA;IAAA,KAFQvD,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAoD,eAAA;IAAAnD,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAwB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACpE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAA8B,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC7E;MAAA,SAFKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAU4B,yDAAgB,CAAC3B,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC5B,IAAI,CAAC;IAC1E;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACrCH,IAAM2B,YAAY,GAAG,kBAAkB;AAAC,IAEnBU,cAAc;EACjC,SAAAA,eAA6BpC,OAAgB,EAAE;IAAAC,iFAAA,OAAAmC,cAAA;IAAA,KAAlBpC,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAAC,OAAAE,8EAAA,CAAAkC,cAAA;IAAAjC,GAAA;IAAAC,KAAA;MAAA,IAAA4C,OAAA,GAAA1C,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QACEwC,MAE+B;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAUxB,IAAI,CAACd,OAAO,CAACkD,IAAI,CACtB,IAAI,CAAClC,YAAY,CAAC,CAAC,EACnBiC,MAAM,EACN,CAAC,CAAC,EACF,CAAC,CACH,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SAnBK0C,MAAMA,CAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA7B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+B,MAAM;IAAA;EAAA;IAAAhD,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAqBZ,SAAAe,SACEvB,IAAY,EACZkD,MAAiC;QAAA,OAAA1C,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WAE1B,IAAI,CAACd,OAAO,CAAC+B,GAAG,CACrB,IAAI,CAACf,YAAY,CAACjB,IAAI,CAAC,EACvBkD,MACF,CAAC;YAAA;YAAA;cAAA,OAAA1B,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SARKU,MAAMA,CAAAE,GAAA,EAAAqB,GAAA;QAAA,OAAA1B,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAUZ,SAAAiD,SAAeC,OAAgB;QAAA,IAAAC,KAAA;QAAA,OAAAnD,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cACvB6C,KAA6B,GAAG,CAAC,CAAC;cACxC,IAAID,OAAO,EAAE;gBACXC,KAAK,CAAC,UAAU,CAAC,GAAGD,OAAO;cAC7B;cAAC,OAAAE,SAAA,CAAA7C,MAAA,WACM,IAAI,CAACd,OAAO,CAACe,GAAG,CAAwB,IAAI,CAACC,YAAY,CAAC,CAAC,EAAE0C,KAAK,CAAC;YAAA;YAAA;cAAA,OAAAC,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CAC3E;MAAA,SANKtC,QAAQA,CAAA0C,GAAA;QAAA,OAAAvD,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAQd,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,UAAA3B,MAAA,CAAUW,cAAc,CAACV,YAAY,EAAAD,MAAA,CACnC2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IAEtE;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACvDH,IAAMA,YAAY,GAAG,kBAAkB;AAAC,IAEnB2B,gBAAgB;EACnC,SAAAA,iBAA6BrD,OAAgB,EAAE;IAAAC,iFAAA,OAAAoD,gBAAA;IAAA,KAAlBrD,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAAC,OAAAE,8EAAA,CAAAmD,gBAAA;IAAAlD,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QACEV,IAAY,EACZkD,MAAmC;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE5B,IAAI,CAACd,OAAO,CAAC+B,GAAG,CACrB,IAAI,CAACf,YAAY,CAACjB,IAAI,CAAC,EACvBkD,MACF,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SARKuB,MAAMA,CAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAUZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAiC,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC7E;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAId,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,UAAA3B,MAAA,CAAU4B,gBAAgB,CAAC3B,YAAY,EAAAD,MAAA,CACrC2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IAEtE;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACtC+C;AACF;AACA;AAEhD,IAAMA,YAAY,GAAG,YAAY;;AAEjC;AACA;AACA;AAFA,IAGqBmC,WAAW;EAM9B,SAAAA,YAA6B7D,OAAgB,EAAE;IAAAC,iFAAA,OAAA4D,WAAA;IAAArB,iFAAA,mCAH8B,CAAC,CAAC;IAAA,KAGlDxC,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACyC,eAAe,GAAG,IAAIY,yDAAgB,CAAC,IAAI,CAACrD,OAAO,CAAC;IACzD,IAAI,CAAC0C,gBAAgB,GAAG,IAAIJ,wDAAe,CAAC,IAAI,CAACtC,OAAO,CAAC;EAC3D;EAAC,OAAAE,8EAAA,CAAA2D,WAAA;IAAA1D,GAAA;IAAAC,KAAA,EAID,SAAAuC,KAAKA,CAACC,EAAW,EAAsC;MACrD,IAAI,CAACiB,WAAW,CAACC,oBAAoB,EAAE;QACrC;QACAC,OAAO,CAACC,IAAI,CACV,qJACF,CAAC;QACDH,WAAW,CAACC,oBAAoB,GAAG,IAAI;MACzC;MACA,IAAIlB,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAACJ,eAAe;MAC7B,CAAC,MAAM;QACL,IAAI,IAAI,CAACK,wBAAwB,CAACF,EAAE,CAAC,KAAKC,SAAS,EAAE;UACnD,IAAI,CAACC,wBAAwB,CAACF,EAAE,CAAC,GAAG,IAAIU,wDAAe,CAACV,EAAE,EAAE,IAAI,CAAC5C,OAAO,CAAC;QAC3E;QACA,OAAO,IAAI,CAAC8C,wBAAwB,CAACF,EAAE,CAAC;MAC1C;IACF;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAED,SAAA2C,MAAMA,CAAA,EAAoB;MACxB,OAAO,IAAI,CAACL,gBAAgB;IAC9B;EAAC;IAAAvC,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;AAAAc,iFAAA,CAtCkBqB,WAAW,0BACQ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLnB;AACgB;AACE;AAY1B;AACmC;AAER;AAG7C,IAAMiB,gBAAgB,GAAG,qBAAqB;AAC9C,IAAMC,OAAO,GAAG,IAAI;AACpB,IAAMC,SAAS,GAAG,KAAK;AAOvB,IAAMC,mBAAmB,GACvB,OAAOC,OAAO,KAAK,WAAW,IAC9BA,OAAO,CAACC,QAAQ,IAAI,IAAI,IACxBD,OAAO,CAACC,QAAQ,CAACC,IAAI,IAAI,IAAI,IAC7B,OAAOC,MAAM,KAAK,WAAW;AAAC,IAuDXC,OAAO;EAc1B,SAAAA,QAAoBC,aAA4B,EAAE;IAAAtF,iFAAA,OAAAqF,OAAA;IAAA,KAA9BC,aAA4B,GAA5BA,aAA4B;IAC9C,IAAI,CAACC,MAAM,GAAG,IAAI,CAACD,aAAa,CAACC,MAAM;IACvC,IAAI,CAACC,KAAK,GACR,IAAI,CAACF,aAAa,CAACE,KAAK,IAAI,IAAI,GAC5B,IAAI,CAACF,aAAa,CAACE,KAAK,GACxBC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC,IAAI,CAACL,aAAa,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAACI,WAAW,GACd,IAAI,CAACN,aAAa,CAACM,WAAW,IAAI,IAAI,GAClC,IAAI,CAACN,aAAa,CAACM,WAAW,GAC9BH,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC,IAAI,CAACL,aAAa,CAACM,WAAW,CAAC,CAAC;IAChE,IAAI,CAACC,wBAAwB,GAAG,IAAI,CAACP,aAAa,CAACO,wBAAwB;IAC3E,IAAI,CAACC,0BAA0B,GAC7B,IAAI,CAACR,aAAa,CAACQ,0BAA0B;IAC/C,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACT,aAAa,CAACU,UAAU;IACzD,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACX,aAAa,CAACW,oBAAoB;IACnE,IAAI,CAACC,sBAAsB,GAAG,IAAI,CAACZ,aAAa,CAACY,sBAAsB;IACvE,IAAI,CAACC,qBAAqB,GAAG,IAAI,CAACb,aAAa,CAACc,iBAAiB;IAEjE,IAAI,CAACC,MAAM,GAAG,IAAI,CAACf,aAAa,CAACe,MAAM;IAEvC,IAAI,CAACC,0BAA0B,CAAC,CAAC;IACjC,IAAI,CAACC,gBAAgB,GAAG,CAAC,CAAC;EAC5B;EAAC,OAAAtG,8EAAA,CAAAoF,OAAA;IAAAnF,GAAA;IAAAC,KAAA;MAAA,IAAAqG,IAAA,GAAAnG,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QACEiG,QAAgB;QAAA,IAAAC,eAAA;UAAAC,IAAA;UAAAC,gBAAA;UAAAC,WAAA;UAAAC,iBAAA;UAAAC,YAAA;UAAAC,iBAAA;UAAAC,YAAA;UAAAC,kBAAA;UAAAC,KAAA,GAAAhG,SAAA;QAAA,OAAAb,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAChB8F,eAAoB,GAAAS,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAvE,SAAA,GAAAuE,KAAA,MAAG,CAAC,CAAC;cAAAR,IAAA,GAAAQ,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAvE,SAAA,GAAAuE,KAAA,MAarB,CAAC,CAAC,EAAAP,gBAAA,GAAAD,IAAA,CAXJE,WAAW,EAAXA,WAAW,GAAAD,gBAAA,cAAG,IAAI,GAAAA,gBAAA,EAAAE,iBAAA,GAAAH,IAAA,CAClBI,YAAY,EAAZA,YAAY,GAAAD,iBAAA,cAAGlE,SAAS,GAAAkE,iBAAA,EAAAE,iBAAA,GAAAL,IAAA,CACxBM,YAAY,EAAZA,YAAY,GAAAD,iBAAA,cAAGpE,SAAS,GAAAoE,iBAAA,EACxBE,kBAAkB,GAAAP,IAAA,CAAlBO,kBAAkB;cAAA,OAAAxG,QAAA,CAAAG,MAAA,WAUb,IAAI,CAACwG,cAAc,CAAI,KAAK,EAAEZ,QAAQ,EAAE;gBAC7CC,eAAe,EAAfA,eAAe;gBACfG,WAAW,EAAXA,WAAW;gBACXE,YAAY,EAAZA,YAAY;gBACZE,YAAY,EAAZA,YAAY;gBACZC,kBAAkB,EAAlBA;cACF,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAxG,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACH;MAAA,SAxBKM,GAAGA,CAAAkB,EAAA;QAAA,OAAAwE,IAAA,CAAAtF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAHL,GAAG;IAAA;EAAA;IAAAZ,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CA0BT,SAAAe,SAAgBoF,QAAgB;QAAA,IAAAC,eAAA;UAAAY,MAAA,GAAAnG,SAAA;QAAA,OAAAb,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAE8F,eAAoB,GAAAY,MAAA,CAAAF,MAAA,QAAAE,MAAA,QAAA1E,SAAA,GAAA0E,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAhG,SAAA,CAAAT,MAAA,WAClD,IAAI,CAACwG,cAAc,CAAI,QAAQ,EAAEZ,QAAQ,EAAE;gBAChDC,eAAe,EAAfA,eAAe;gBACfQ,kBAAkB,EAAE;cACtB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA5F,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACH;MAAA,SALKE,OAAMA,CAAAU,GAAA;QAAA,OAAAb,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA;MAAA,IAAAoH,KAAA,GAAAlH,mFAAA,cAAAC,sEAAA,CAOZ,SAAAiD,SACEkD,QAAgB;QAAA,IAAAe,cAAA;UAAAd,eAAA;UAAAN,iBAAA;UAAAqB,KAAA;UAAAC,iBAAA;UAAAb,WAAA;UAAAc,kBAAA;UAAAZ,YAAA;UAAAa,kBAAA;UAAAX,YAAA;UAAAC,kBAAA;UAAAW,MAAA,GAAA1G,SAAA;QAAA,OAAAb,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cAChB4G,cAAmB,GAAAK,MAAA,CAAAT,MAAA,QAAAS,MAAA,QAAAjF,SAAA,GAAAiF,MAAA,MAAG,CAAC,CAAC;cACxBnB,eAAoB,GAAAmB,MAAA,CAAAT,MAAA,QAAAS,MAAA,QAAAjF,SAAA,GAAAiF,MAAA,MAAG,CAAC,CAAC;cACzBzB,iBAAsB,GAAAyB,MAAA,CAAAT,MAAA,QAAAS,MAAA,QAAAjF,SAAA,GAAAiF,MAAA,MAAG,CAAC,CAAC;cAAAJ,KAAA,GAAAI,MAAA,CAAAT,MAAA,QAAAS,MAAA,QAAAjF,SAAA,GAAAiF,MAAA,MAavB,CAAC,CAAC,EAAAH,iBAAA,GAAAD,KAAA,CAXJZ,WAAW,EAAXA,WAAW,GAAAa,iBAAA,cAAG,IAAI,GAAAA,iBAAA,EAAAC,kBAAA,GAAAF,KAAA,CAClBV,YAAY,EAAZA,YAAY,GAAAY,kBAAA,cAAG/E,SAAS,GAAA+E,kBAAA,EAAAC,kBAAA,GAAAH,KAAA,CACxBR,YAAY,EAAZA,YAAY,GAAAW,kBAAA,cAAGhF,SAAS,GAAAgF,kBAAA,EACxBV,kBAAkB,GAAAO,KAAA,CAAlBP,kBAAkB;cAAA,OAAAxD,SAAA,CAAA7C,MAAA,WAUb,IAAI,CAACwG,cAAc,CAAI,MAAM,EAAEZ,QAAQ,EAAE;gBAC9CC,eAAe,EAAfA,eAAe;gBACfc,cAAc,EAAdA,cAAc;gBACdpB,iBAAiB,EAAjBA,iBAAiB;gBACjBS,WAAW,EAAXA,WAAW;gBACXE,YAAY,EAAZA,YAAY;gBACZE,YAAY,EAAZA,YAAY;gBACZC,kBAAkB,EAAlBA;cACF,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAxD,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CACH;MAAA,SA5BKN,IAAIA,CAAAK,GAAA;QAAA,OAAAiE,KAAA,CAAArG,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAJ8B,IAAI;IAAA;EAAA;IAAA/C,GAAA;IAAAC,KAAA;MAAA,IAAA2H,IAAA,GAAAzH,mFAAA,cAAAC,sEAAA,CA8BV,SAAAyH,SACEtB,QAAgB;QAAA,IAAAe,cAAA;UAAAd,eAAA;UAAAsB,MAAA,GAAA7G,SAAA;QAAA,OAAAb,sEAAA,WAAA2H,SAAA;UAAA,kBAAAA,SAAA,CAAAtH,IAAA,GAAAsH,SAAA,CAAArH,IAAA;YAAA;cAChB4G,cAAmB,GAAAQ,MAAA,CAAAZ,MAAA,QAAAY,MAAA,QAAApF,SAAA,GAAAoF,MAAA,MAAG,CAAC,CAAC;cACxBtB,eAAoB,GAAAsB,MAAA,CAAAZ,MAAA,QAAAY,MAAA,QAAApF,SAAA,GAAAoF,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAC,SAAA,CAAApH,MAAA,WAElB,IAAI,CAACwG,cAAc,CAAI,KAAK,EAAEZ,QAAQ,EAAE;gBAC7CC,eAAe,EAAfA,eAAe;gBACfc,cAAc,EAAdA,cAAc;gBACdN,kBAAkB,EAAE;cACtB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAe,SAAA,CAAAjH,IAAA;UAAA;QAAA,GAAA+G,QAAA;MAAA,CACH;MAAA,SAVKjG,GAAGA,CAAA6B,GAAA;QAAA,OAAAmE,IAAA,CAAA5G,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAHW,GAAG;IAAA;EAAA;IAAA5B,GAAA;IAAAC,KAAA;MAAA,IAAA+H,MAAA,GAAA7H,mFAAA,cAAAC,sEAAA,CAYT,SAAA6H,SACE1B,QAAgB;QAAA,IAAAe,cAAA;UAAAd,eAAA;UAAA0B,MAAA,GAAAjH,SAAA;QAAA,OAAAb,sEAAA,WAAA+H,SAAA;UAAA,kBAAAA,SAAA,CAAA1H,IAAA,GAAA0H,SAAA,CAAAzH,IAAA;YAAA;cAChB4G,cAAmB,GAAAY,MAAA,CAAAhB,MAAA,QAAAgB,MAAA,QAAAxF,SAAA,GAAAwF,MAAA,MAAG,CAAC,CAAC;cACxB1B,eAAoB,GAAA0B,MAAA,CAAAhB,MAAA,QAAAgB,MAAA,QAAAxF,SAAA,GAAAwF,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAC,SAAA,CAAAxH,MAAA,WAElB,IAAI,CAACwG,cAAc,CAAI,OAAO,EAAEZ,QAAQ,EAAE;gBAC/CC,eAAe,EAAfA,eAAe;gBACfc,cAAc,EAAdA,cAAc;gBACdN,kBAAkB,EAAE;cACtB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAmB,SAAA,CAAArH,IAAA;UAAA;QAAA,GAAAmH,QAAA;MAAA,CACH;MAAA,SAVKG,KAAKA,CAAAC,GAAA;QAAA,OAAAL,MAAA,CAAAhH,KAAA,OAAAC,SAAA;MAAA;MAAA,OAALmH,KAAK;IAAA;EAAA;IAAApI,GAAA;IAAAC,KAAA,EAYX,SAAQqI,UAAUA,CAAA,EAA6B;MAC7C,IAAI,CAAC,IAAI,CAAClD,aAAa,CAACmD,YAAY,EAAE,OAAO7F,SAAS;MAEtD,IAAI,OAAO,IAAI,CAAC0C,aAAa,CAACmD,YAAY,KAAK,UAAU,EACvD,OAAO,IAAI,CAACnD,aAAa,CAACmD,YAAY;MAExC,IAAMC,mBAAmB,GACvB,OAAOC,SAAS,KAAK,WAAW,IAChCA,SAAS,CAACC,SAAS,KAAK,oBAAoB;MAE9C,OAAOF,mBAAmB,GACtB1E,6CAAK,CAACwE,UAAU,CAAC,IAAI,CAAClD,aAAa,CAACmD,YAAY,CAAC,CAACI,IAAI,CAACC,UAAU,CAAC,GAClE9E,6CAAK,CAACwE,UAAU,CAAC,IAAI,CAAClD,aAAa,CAACmD,YAAY,CAAC;IACvD;EAAC;IAAAvI,GAAA;IAAAC,KAAA;MAAA,IAAA4I,eAAA,GAAA1I,mFAAA,cAAAC,sEAAA,CAED,SAAA0I,SACEC,WAAmB,EACnBxC,QAAgB,EAAAyC,KAAA;QAAA,IAAAC,KAAA;QAAA,IAAAC,qBAAA,EAAA1C,eAAA,EAAA2C,oBAAA,EAAA7B,cAAA,EAAA8B,qBAAA,EAAAlD,iBAAA,EAAAmD,iBAAA,EAAA1C,WAAA,EAAA2C,kBAAA,EAAAzC,YAAA,EAAA0C,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,eAAA,EAAAC,kBAAA,EAAA5C,YAAA,EAAAC,kBAAA,EAAA4C,aAAA,EAAAC,aAAA,EAAAC,UAAA,EAAAC,KAAA,EAAAC,IAAA,EAAAC,QAAA;QAAA,OAAA7J,sEAAA,WAAA8J,SAAA;UAAA,kBAAAA,SAAA,CAAAzJ,IAAA,GAAAyJ,SAAA,CAAAxJ,IAAA;YAAA;cAAAwI,qBAAA,GAAAF,KAAA,CAEdxC,eAAe,EAAfA,eAAe,GAAA0C,qBAAA,cAAG,IAAI,GAAAA,qBAAA,EAAAC,oBAAA,GAAAH,KAAA,CACtB1B,cAAc,EAAdA,cAAc,GAAA6B,oBAAA,cAAG,IAAI,GAAAA,oBAAA,EAAAC,qBAAA,GAAAJ,KAAA,CACrB9C,iBAAiB,EAAjBA,iBAAiB,GAAAkD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA,EAAAC,iBAAA,GAAAL,KAAA,CACtBrC,WAAW,EAAXA,WAAW,GAAA0C,iBAAA,cAAG,IAAI,GAAAA,iBAAA,EAAAC,kBAAA,GAAAN,KAAA,CAClBnC,YAAY,EAAZA,YAAY,GAAAyC,kBAAA,cAAG5G,SAAS,GAAA4G,kBAAA,EAAAC,qBAAA,GAAAP,KAAA,CACxBQ,qBAAqB,EAArBA,qBAAqB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,EAAAE,qBAAA,GAAAT,KAAA,CAC7BU,eAAe,EAAfA,eAAe,GAAAD,qBAAA,cAAG/G,SAAS,GAAA+G,qBAAA,EAAAE,kBAAA,GAAAX,KAAA,CAC3BjC,YAAY,EAAZA,YAAY,GAAA4C,kBAAA,cAAGjH,SAAS,GAAAiH,kBAAA,EACxB3C,kBAAkB,GAAAgC,KAAA,CAAlBhC,kBAAkB;cAepB,IAAI,CAAC5B,aAAa,CAAC+E,QAAQ,CAAC,CAAC;cAE7B,IAAInD,kBAAkB,EAAE;gBACtB,IAAI,CAACb,MAAM,CAACiE,KAAK,6CAAA9I,MAAA,CAA6CiF,QAAQ,CAAE,CAAC;;gBAEzE;gBACA,IAAI,CAACzB,mBAAmB,IAAI,OAAOuF,KAAK,KAAK,WAAW,EAAE;kBACxD,IAAI,CAAClE,MAAM,CAACiE,KAAK,CAAC,2CAA2C,CAAC;kBAC9DvD,YAAY,GAAG,QAAQ;gBACzB;cACF;cAEM+C,aAAa,GAAGU,IAAI,CAACC,GAAG,CAAC,CAAC;cAE5BT,UAAU,GAAG,KAAK;cACtB,IAAI,CAAC3D,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,mBAAAtI,MAAA,CAAgByH,WAAW,CAACyB,WAAW,CAAC,CAAC,gBAAAlJ,MAAA,CAAaiF,QAAQ,CACzF,CAAC;cAACwD,KAAA,gBAAA3J,sEAAA,UAAA2J,MAAA;gBAAA,IAAA9E,IAAA,EAAAwF,aAAA,EAAAC,cAAA,EAAAC,WAAA,EAAAC,MAAA,EAAAC,QAAA,EAAAC,cAAA,EAAAC,eAAA,EAAAC,WAAA,EAAAC,eAAA,EAAAC,EAAA;gBAAA,OAAA9K,sEAAA,WAAA+K,SAAA;kBAAA,kBAAAA,SAAA,CAAA1K,IAAA,GAAA0K,SAAA,CAAAzK,IAAA;oBAAA;sBAMMuE,IAAI,GAAGgE,KAAI,CAACmC,WAAW,CAACxB,aAAa,CAAC;sBAC5CX,KAAI,CAAC9C,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,mBAAAtI,MAAA,CAAgByH,WAAW,CAACyB,WAAW,CAAC,CAAC,oBAAAlJ,MAAA,CAAiB2I,QAAQ,eAAA3I,MAAA,CACzF2D,IAAI,CAACoG,KAAK,CAEd,CAAC;sBAAC,MAEE1E,WAAW,IAAIA,WAAW,CAAC2E,OAAO;wBAAAH,SAAA,CAAAzK,IAAA;wBAAA;sBAAA;sBAAA,OAAAyK,SAAA,CAAAxK,MAAA;wBAAA4K,CAAA,EAC7BC,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC;sBAAC;oBAAA;sBAAAP,SAAA,CAAA1K,IAAA;sBAMxDiK,cAA0C,GAAG;wBACjDiB,MAAM,EAAE5C,WAAW;wBACnB6C,GAAG,EAAE3C,KAAI,CAAC4C,MAAM,CAACtF,QAAQ,EAAEtB,IAAI,CAAC;wBAChC6G,OAAO,EAAEC,MAAM,CAACC,MAAM,CACpB,CAAC,CAAC,EACF/C,KAAI,CAACgD,cAAc,CAAC,CAAC,EACrB/F,iBAAiB,EACjB+C,KAAI,CAAChD,qBACP,CAAC;wBACDiG,gBAAgB,EAAEC,QAAQ;wBAC1BC,aAAa,EAAED,QAAQ;wBACvBE,cAAc,EAAE,SAAhBA,cAAcA,CAAGC,MAAM,EAAK;0BAC1B;AACZ;AACA;AACA;0BACY,OAAOA,MAAM,GAAG,CAAC;wBACnB,CAAC;wBACDC,iBAAiB,EAAE,CACjB,UAACC,IAAI,EAAEV,OAAO,EAAK;0BACjB,IAAIW,eAAe,GAAGD,IAAI;0BAC1B,IACEV,OAAO,KAAKpJ,SAAS,IACrB,OAAO8J,IAAI,KAAK,QAAQ,IACxB,OAAOV,OAAO,CAAC,cAAc,CAAC,KAAK,QAAQ,IAC3CA,OAAO,CAAC,cAAc,CAAC,CAACY,UAAU,CAAC,kBAAkB,CAAC,EACtD;4BACAD,eAAe,GAAGlH,IAAI,CAACC,KAAK,CAACgH,IAAI,CAAC;0BACpC;0BACA,OAAOC,eAAe;wBACxB,CAAC;sBAEL,CAAC,EAED;sBACA/B,cAAc,CAACiC,OAAO,GACpB3F,kBAAkB,IAAI,CAAClC,mBAAmB,GACtC,OAAO,GACPmE,KAAI,CAACX,UAAU,CAAC,CAAC;sBAEvB,IAAIkB,qBAAqB,KAAK,IAAI,EAAE;wBAClCkB,cAAc,CAACkC,OAAO,GAAG3D,KAAI,CAACtD,wBAAwB,GAAG,IAAI;sBAC/D;sBAEA,IAAIa,eAAe,IAAIuF,MAAM,CAACc,IAAI,CAACrG,eAAe,CAAC,CAACU,MAAM,KAAK,CAAC,EAAE;wBAChEwD,cAAc,CAAC5H,MAAM,GAAG0D,eAAe;sBACzC;sBAEA,IAAIyC,KAAI,CAACjD,sBAAsB,EAAE;wBAC/B0E,cAAc,CAAC5H,MAAM,GAAG4H,cAAc,CAAC5H,MAAM,IAAI,CAAC,CAAC;wBACnD4H,cAAc,CAAC5H,MAAM,CAAC,qBAAqB,CAAC,GAAGmG,KAAI,CAAC5D,MAAM;sBAC5D;sBAEA,IAAI4D,KAAI,CAAC7D,aAAa,CAAC0H,SAAS,EAAE;wBAChC7D,KAAI,CAAC9C,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,6BAC3B,CAAC;wBACDc,cAAc,CAACoC,SAAS,GAAG7D,KAAI,CAAC7D,aAAa,CAAC0H,SAAS;sBACzD,CAAC,MAAM,IAAIpD,eAAe,KAAK,IAAI,EAAE;wBACnC,IAAI,CAAC5E,mBAAmB,EAAE;0BACxBmE,KAAI,CAAC9C,MAAM,CAACtC,IAAI,aAAAvC,MAAA,CACFsI,aAAa,+EAC3B,CAAC;wBACH,CAAC,MAAM;0BACLX,KAAI,CAAC9C,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CAAasI,aAAa,yBAAsB,CAAC;0BAClEc,cAAc,CAACoC,SAAS,GAAG,IAAI9I,uCAAS,CAAC;4BAAE+I,SAAS,EAAE;0BAAK,CAAC,CAAC;wBAC/D;sBACF;sBAEA,IAAI9D,KAAI,CAAC7D,aAAa,CAAC4H,UAAU,EAAE;wBACjC/D,KAAI,CAAC9C,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,8BAC3B,CAAC;wBACDc,cAAc,CAACsC,UAAU,GAAG/D,KAAI,CAAC7D,aAAa,CAAC4H,UAAU;sBAC3D,CAAC,MAAM,IAAItD,eAAe,KAAK,IAAI,EAAE;wBACnC,IAAI,CAAC5E,mBAAmB,EAAE;0BACxBmE,KAAI,CAAC9C,MAAM,CAACtC,IAAI,aAAAvC,MAAA,CACFsI,aAAa,+EAC3B,CAAC;wBACH,CAAC,MAAM;0BACLX,KAAI,CAAC9C,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CAAasI,aAAa,yBAAsB,CAAC;0BAClEc,cAAc,CAACsC,UAAU,GAAG,IAAI/I,wCAAU,CAAC;4BAAE8I,SAAS,EAAE;0BAAK,CAAC,CAAC;wBACjE;sBACF;sBAEA,IAAI9D,KAAI,CAAC7D,aAAa,CAAC6H,gBAAgB,EAAE;wBACvChE,KAAI,CAAC9C,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,oCAC3B,CAAC;wBACDc,cAAc,CAACuC,gBAAgB,GAAGhE,KAAI,CAAC7D,aAAa,CAAC6H,gBAAgB;sBACvE;sBAEA,IACE3F,cAAc,KACZ,OAAOA,cAAc,KAAK,QAAQ,IAClCA,cAAc,CAACJ,MAAM,KAAK,CAAC,IAC1BgG,yEAAA,CAAO5F,cAAc,MAAK,QAAQ,IACjCyE,MAAM,CAACc,IAAI,CAACvF,cAAc,CAAC,CAACJ,MAAM,KAAK,CAAE,CAAC,EAC9C;wBACAwD,cAAc,CAAC8B,IAAI,GAAGlF,cAAc;sBACtC;;sBAEA;sBACA,IAAIX,WAAW,EAAE;wBACTgE,WAAW,GAAG7G,6CAAK,CAACqJ,WAAW;wBAC/BvC,MAAM,GAAGD,WAAW,CAACC,MAAM,CAAC,CAAC;wBACnCH,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAS;0BACpBX,UAAU,GAAG,IAAI;0BACjBc,MAAM,CAACwC,MAAM,CAAC,CAAC;wBACjB,CAAC;wBACDzG,WAAW,CAAC0G,gBAAgB,CAAC,OAAO,EAAE5C,aAAa,CAAC;wBACpDC,cAAc,CAACC,WAAW,GAAGC,MAAM,CAAC0C,KAAK;sBAC3C;sBAEA,IAAItG,kBAAkB,EAAE;wBACtB0D,cAAc,CAAC7D,YAAY,GAAG,QAAQ;wBACtC,IAAI,CAAC/B,mBAAmB,EAAE;0BACxB4F,cAAc,CAACoB,OAAO,GAAAyB,aAAA,CAAAA,aAAA,KACjB7C,cAAc,CAACoB,OAAO;4BACzB0B,MAAM,EAAE;0BAAmB,EAC5B;wBACH;sBACF,CAAC,MAAM,IAAI3G,YAAY,EAAE;wBACvB6D,cAAc,CAAC7D,YAAY,GAAGA,YAAY;sBAC5C;sBAACsE,SAAA,CAAAzK,IAAA;sBAAA,OAEsBoD,iDAAK,CAAC4G,cAAc,CAAC;oBAAA;sBAAtCG,QAAQ,GAAAM,SAAA,CAAAsC,IAAA;sBAEd,IAAI5C,QAAQ,CAACyB,MAAM,IAAI,CAAC,IAAIzB,QAAQ,CAACyB,MAAM,IAAI,GAAG,EAAE;wBAClD;wBACA;wBACArD,KAAI,CAACyE,kBAAkB,CAACzI,IAAI,EAAEL,OAAO,CAAC;sBACxC;sBAEAqE,KAAI,CAAC9C,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,wBAAAtI,MAAA,CAAqB2D,IAAI,CAACoG,KAAK,mCAAA/J,MAAA,CAAgCuJ,QAAQ,CAACyB,MAAM,MACzG,CAAC;sBAAC,MAEEzB,QAAQ,CAACyB,MAAM,IAAI,GAAG,IAAIzB,QAAQ,CAACyB,MAAM,GAAG,GAAG;wBAAAnB,SAAA,CAAAzK,IAAA;wBAAA;sBAAA;sBAAA,KAC7CsG,kBAAkB;wBAAAmE,SAAA,CAAAzK,IAAA;wBAAA;sBAAA;sBAAA,OAAAyK,SAAA,CAAAxK,MAAA;wBAAA4K,CAAA,EACbtC,KAAI,CAAC0E,uBAAuB,CAAI9C,QAAQ,EAAE9D,YAAY;sBAAC;oBAAA;sBAAA,OAAAoE,SAAA,CAAAxK,MAAA;wBAAA4K,CAAA,EAEzDC,OAAO,CAACoC,OAAO,CAAC/C,QAAQ,CAAC2B,IAAI;sBAAC;oBAAA;sBAAA,MAC5B3B,QAAQ,CAACyB,MAAM,GAAG,GAAG;wBAAAnB,SAAA,CAAAzK,IAAA;wBAAA;sBAAA;sBAAA,OAAAyK,SAAA,CAAAxK,MAAA;wBAAA4K,CAAA,EAEvBC,OAAO,CAACC,MAAM,CACnBxC,KAAI,CAAC4E,sBAAsB,CACzBhD,QAAQ,GAAAC,cAAA,GACRD,QAAQ,CAAC2B,IAAI,cAAA1B,cAAA,uBAAbA,cAAA,CAAegD,OAAO,EACtBpD,cAAc,CAAC8B,IACjB,CACF;sBAAC;oBAAA;sBAAA,MAIKvD,KAAI,CAAC4E,sBAAsB,CAC/BhD,QAAQ,GAAAE,eAAA,GACRF,QAAQ,CAAC2B,IAAI,cAAAzB,eAAA,uBAAbA,eAAA,CAAe+C,OAAO,EACtBpD,cAAc,CAAC8B,IACjB,CAAC;oBAAA;sBAAArB,SAAA,CAAAzK,IAAA;sBAAA;oBAAA;sBAAAyK,SAAA,CAAA1K,IAAA;sBAAAyK,EAAA,GAAAC,SAAA;sBAGH;sBACA,IAAI,CAACrB,UAAU,EAAE;wBACfb,KAAI,CAACyE,kBAAkB,CAACzI,IAAI,EAAEJ,SAAS,CAAC;sBAC1C;sBACAgF,aAAa,GAAAqB,EAAQ;sBACrBjC,KAAI,CAAC9C,MAAM,CAACtC,IAAI,aAAAvC,MAAA,CACFsI,aAAa,wBAAAtI,MAAA,CACvB2D,IAAI,CAACoG,KAAK,uBAAA/J,MAAA,EAAA0J,WAAA,GAAAE,EAAA,aAAAA,EAAA,uBACOA,EAAA,CAAO6C,IAAI,cAAA/C,WAAA,cAAAA,WAAA,GAAI,EAAE,OAAA1J,MAAA,CAAI4J,EAAA,CAAM4C,OAAO,EAAAxM,MAAA,CACnD4J,EAAA,CAAML,QAAQ,IAAI,IAAI,GAClB,EAAE,GACF,KAAK,GAAGtF,IAAI,CAACE,SAAS,EAAAwF,eAAA,GAACC,EAAA,CAAML,QAAQ,cAAAI,eAAA,uBAAdA,eAAA,CAAgBuB,IAAI,CAAC,OAEpD,CAAC;sBAAC,KAEE1C,UAAU;wBAAAqB,SAAA,CAAAzK,IAAA;wBAAA;sBAAA;sBAAA,OAAAyK,SAAA,CAAAxK,MAAA;wBAAA4K,CAAA,EACLC,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC;sBAAC;oBAAA;sBAGhE,IAAI1E,kBAAkB,EAAE;wBACtBiC,KAAI,CAAC+E,qBAAqB,CAAA9C,EAAA,EAAQnE,YAAY,CAAC;sBACjD;sBAAC,MAEGkD,QAAQ,GAAGhB,KAAI,CAACpD,oBAAoB,GAAG,CAAC;wBAAAsF,SAAA,CAAAzK,IAAA;wBAAA;sBAAA;sBAC1CuI,KAAI,CAAC9C,MAAM,CAACtC,IAAI,aAAAvC,MAAA,CACFsI,aAAa,qBAAAtI,MAAA,CAAkB2H,KAAI,CAAClD,oBAAoB,mCACtE,CAAC;sBAACoF,SAAA,CAAAzK,IAAA;sBAAA;oBAAA;sBAEFuI,KAAI,CAAC9C,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,0CAC3B,CAAC;sBAAC,OAAAuB,SAAA,CAAAxK,MAAA;wBAAA4K,CAAA,EACKC,OAAO,CAACC,MAAM,CAAC5B,aAAa;sBAAC;oBAAA;sBAAAsB,SAAA,CAAAzK,IAAA;sBAAA,OAEhCuI,KAAI,CAACgF,KAAK,CAAChF,KAAI,CAAClD,oBAAoB,CAAC;oBAAA;sBAAAoF,SAAA,CAAA1K,IAAA;sBAE3C,IAAIkG,WAAW,IAAI8D,aAAa,EAAE;wBAChC9D,WAAW,CAACuH,mBAAmB,CAAC,OAAO,EAAEzD,aAAa,CAAC;sBACzD;sBAAC,OAAAU,SAAA,CAAAgD,MAAA;oBAAA;oBAAA;sBAAA,OAAAhD,SAAA,CAAArK,IAAA;kBAAA;gBAAA,GAAAiJ,KAAA;cAAA;cAzNCE,QAAQ,GAAG,CAAC;YAAA;cAAA,MAChBA,QAAQ,IAAI,IAAI,CAACpE,oBAAoB,GAAG,CAAC;gBAAAqE,SAAA,CAAAxJ,IAAA;gBAAA;cAAA;cAAA,OAAAwJ,SAAA,CAAAkE,aAAA,CAAArE,KAAA;YAAA;cAAAC,IAAA,GAAAE,SAAA,CAAAmE,EAAA;cAAA,KAAArE,IAAA;gBAAAE,SAAA,CAAAxJ,IAAA;gBAAA;cAAA;cAAA,OAAAwJ,SAAA,CAAAvJ,MAAA,WAAAqJ,IAAA,CAAAuB,CAAA;YAAA;cACzCtB,QAAQ,EAAE;cAAAC,SAAA,CAAAxJ,IAAA;cAAA;YAAA;cA2NZ,IAAI,CAACyF,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,0CAC3B,CAAC;cAAC,OAAAM,SAAA,CAAAvJ,MAAA,WACK6K,OAAO,CAACC,MAAM,CAAC5B,aAAa,CAAC;YAAA;YAAA;cAAA,OAAAK,SAAA,CAAApJ,IAAA;UAAA;QAAA,GAAAgI,QAAA;MAAA,CACrC;MAAA,SA/QK3B,cAAcA,CAAAmH,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAA3F,eAAA,CAAA7H,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAdkG,cAAc;IAAA;EAAA;IAAAnH,GAAA;IAAAC,KAAA,EAiRpB,SAAQwO,oBAAoBA,CAACC,IAAY,EAGhC;MACP,IAAI,CAACA,IAAI,CAACC,IAAI,CAAC,CAAC,IAAID,IAAI,KAAK,cAAc,EAAE;QAC3C,OAAO,IAAI;MACb;;MAEA;MACA,IAAIA,IAAI,CAAChC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC7B,OAAO,IAAI,CAACkC,eAAe,CAACF,IAAI,CAACG,KAAK,CAAC,CAAC,CAAC,CAACF,IAAI,CAAC,CAAC,CAAC;MACnD;;MAEA;MACA,IAAID,IAAI,CAACC,IAAI,CAAC,CAAC,CAACjC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC/B,IAAI;UACF,IAAMoC,QAAQ,GAAGvJ,IAAI,CAACC,KAAK,CAACkJ,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC;UACxC,IAAIG,QAAQ,IAAI5B,yEAAA,CAAO4B,QAAQ,MAAK,QAAQ,EAAE;YAC5C,IAAI,CAACA,QAAQ,CAACC,eAAe,EAAE;cAC7BD,QAAQ,CAACC,eAAe,GAAG,SAAS;YACtC;YACA,IAAI,CAACD,QAAQ,CAAChB,OAAO,IAAIgB,QAAQ,CAAChB,OAAO,KAAK,EAAE,EAAE;cAChDgB,QAAQ,CAAChB,OAAO,GAAG,EAAE;YACvB;YACA,OAAOgB,QAAQ;UACjB;UACA,OAAO;YACLC,eAAe,EAAE,SAAS;YAC1BjB,OAAO,EAAEvI,IAAI,CAACE,SAAS,CAACqJ,QAAQ;UAClC,CAAC;QACH,CAAC,CAAC,OAAAE,OAAA,EAAM;UACN,OAAO;YACLD,eAAe,EAAE,SAAS;YAC1BjB,OAAO,EAAEY,IAAI,CAACC,IAAI,CAAC;UACrB,CAAC;QACH;MACF;MAEA,OAAO;QACLI,eAAe,EAAE,SAAS;QAC1BjB,OAAO,EAAEY,IAAI,CAACC,IAAI,CAAC;MACrB,CAAC;IACH;EAAC;IAAA3O,GAAA;IAAAC,KAAA,EAED,SAAQ2O,eAAeA,CAACK,WAAmB,EAGlC;MACP,IAAI,CAACA,WAAW,EAAE;QAChB,OAAO,IAAI;MACb;MAEA,IAAIA,WAAW,CAACvC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC/B,IAAI;UACF,IAAMoC,QAAQ,GAAGvJ,IAAI,CAACC,KAAK,CAACyJ,WAAW,CAAC;UACxC;UACA,IAAIH,QAAQ,IAAI5B,yEAAA,CAAO4B,QAAQ,MAAK,QAAQ,EAAE;YAC5C,IAAI,CAACA,QAAQ,CAACC,eAAe,EAAE;cAC7BD,QAAQ,CAACC,eAAe,GAAG,SAAS;YACtC;YACA,IAAI,CAACD,QAAQ,CAAChB,OAAO,IAAIgB,QAAQ,CAAChB,OAAO,KAAK,EAAE,EAAE;cAChDgB,QAAQ,CAAChB,OAAO,GAAG,EAAE;YACvB;YACA,OAAOgB,QAAQ;UACjB;UACA,OAAO;YACLC,eAAe,EAAE,SAAS;YAC1BjB,OAAO,EAAEvI,IAAI,CAACE,SAAS,CAACqJ,QAAQ;UAClC,CAAC;QACH,CAAC,CAAC,OAAAI,QAAA,EAAM;UACN;UACA,OAAO;YACLH,eAAe,EAAE,SAAS;YAC1BjB,OAAO,EAAEmB;UACX,CAAC;QACH;MACF;;MAEA;MACA,OAAO;QACLF,eAAe,EAAE,SAAS;QAC1BjB,OAAO,EAAEmB;MACX,CAAC;IACH;EAAC;IAAAjP,GAAA;IAAAC,KAAA;MAAA,IAAAkP,wBAAA,GAAAhP,mFAAA,cAAAC,sEAAA,CAED,SAAAgP,SACEvE,QAAuB,EACvB9D,YAEa;QAAA,OAAA3G,sEAAA,WAAAiP,SAAA;UAAA,kBAAAA,SAAA,CAAA5O,IAAA,GAAA4O,SAAA,CAAA3O,IAAA;YAAA;cAEb,IAAI,CAACyF,MAAM,CAACiE,KAAK,8CAAA9I,MAAA,CAC8BwD,mBAAmB,GAAG,SAAS,GAAG,SAAS,CAC1F,CAAC;cAAC,MAEEA,mBAAmB,IAAI+F,QAAQ,CAAC2B,IAAI;gBAAA6C,SAAA,CAAA3O,IAAA;gBAAA;cAAA;cAAA,OAAA2O,SAAA,CAAA1O,MAAA,WAC/B,IAAI,CAAC2O,mBAAmB,CAAIzE,QAAQ,EAAE9D,YAAY,CAAC;YAAA;cAAA,IAGvDjC,mBAAmB;gBAAAuK,SAAA,CAAA3O,IAAA;gBAAA;cAAA;cAAA,OAAA2O,SAAA,CAAA1O,MAAA,WACf,IAAI,CAAC4O,sBAAsB,CAAI1E,QAAQ,EAAE9D,YAAY,CAAC;YAAA;cAG/D,IAAI,CAACZ,MAAM,CAACiE,KAAK,CAAC,mCAAmC,CAAC;cACtD,IAAI,CAACoF,wBAAwB,CAAC3E,QAAQ,CAAC2B,IAAI,EAAEzF,YAAY,CAAC;cAAC,OAAAsI,SAAA,CAAA1O,MAAA,WACpD6K,OAAO,CAACoC,OAAO,CAAC/C,QAAQ,CAAC2B,IAAS,CAAC;YAAA;YAAA;cAAA,OAAA6C,SAAA,CAAAvO,IAAA;UAAA;QAAA,GAAAsO,QAAA;MAAA,CAC3C;MAAA,SArBazB,uBAAuBA,CAAA8B,GAAA,EAAAC,GAAA;QAAA,OAAAP,wBAAA,CAAAnO,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAvB0M,uBAAuB;IAAA;EAAA;IAAA3N,GAAA;IAAAC,KAAA,EAuBrC,SAAQqP,mBAAmBA,CACzBzE,QAAuB,EACvB9D,YAA0E,EAC9D;MAAA,IAAA4I,MAAA;MACZ,IAAI,CAACxJ,MAAM,CAACiE,KAAK,CAAC,2BAA2B,CAAC;MAC9C,OAAO,IAAIoB,OAAO,CAAI,UAACoC,OAAO,EAAEnC,MAAM,EAAK;QACzC,IAAMmE,MAAM,GAAG/E,QAAQ,CAAC2B,IAAI;QAC5B,IAAMqD,SAKA,GAAG,EAAE;QACX,IAAIC,MAAM,GAAG,EAAE;QAEfF,MAAM,CAACG,EAAE,CAAC,MAAM,EAAE,UAACC,KAAK,EAAK;UAC3B,IAAI;YAAA,IAAAC,UAAA;YACF,IAAMzD,IAAI,GAAGwD,KAAK,CAACE,QAAQ,CAAC,CAAC;YAC7BJ,MAAM,IAAItD,IAAI;YAEd,IAAM2D,KAAK,GAAGL,MAAM,CAACM,KAAK,CAAC,IAAI,CAAC;YAChCN,MAAM,IAAAG,UAAA,GAAGE,KAAK,CAACE,GAAG,CAAC,CAAC,cAAAJ,UAAA,cAAAA,UAAA,GAAI,EAAE;YAE1BN,MAAI,CAACW,kBAAkB,CAACH,KAAK,EAAEN,SAAS,EAAE9I,YAAY,CAAC;UACzD,CAAC,CAAC,OAAOwJ,KAAK,EAAE;YACd9E,MAAM,CAAC8E,KAAK,CAAC;UACf;QACF,CAAC,CAAC;QAEFX,MAAM,CAACG,EAAE,CAAC,KAAK,EAAE,YAAM;UACrB,IAAID,MAAM,CAACnB,IAAI,CAAC,CAAC,CAACzH,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAMiJ,KAAK,GAAGL,MAAM,CAACM,KAAK,CAAC,IAAI,CAAC;YAChCT,MAAI,CAACW,kBAAkB,CAACH,KAAK,EAAEN,SAAS,EAAE9I,YAAY,CAAC;UACzD;UAEA4I,MAAI,CAACa,oBAAoB,CACvBX,SAAS,EACTjC,OAAO,EACP/C,QAAQ,EACR9D,YACF,CAAC;QACH,CAAC,CAAC;QAEF6I,MAAM,CAACG,EAAE,CAAC,OAAO,EAAE,UAACQ,KAAc,EAAK;UACrCZ,MAAI,CAACxJ,MAAM,CAACoK,KAAK,kBAAAjP,MAAA,CAAkBiP,KAAK,CAAE,CAAC;UAC3CZ,MAAI,CAAC3B,qBAAqB,CAACuC,KAAK,EAAExJ,YAAY,CAAC;UAC/C0E,MAAM,CAAC8E,KAAK,CAAC;QACf,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EAAC;IAAAvQ,GAAA;IAAAC,KAAA,EAED,SAAQsP,sBAAsBA,CAC5B1E,QAAuB,EACvB9D,YAA0E,EAC9D;MAAA,IAAA0J,MAAA;MACZ,IAAI,CAACtK,MAAM,CAACiE,KAAK,CAAC,2BAA2B,CAAC;MAE9C,OAAO,IAAIoB,OAAO;QAAA,IAAAkF,KAAA,GAAAvQ,mFAAA,cAAAC,sEAAA,CAAI,SAAAuQ,SAAO/C,OAAO,EAAEnC,MAAM;UAAA,IAAAmF,GAAA;UAAA,OAAAxQ,sEAAA,WAAAyQ,SAAA;YAAA,kBAAAA,SAAA,CAAApQ,IAAA,GAAAoQ,SAAA,CAAAnQ,IAAA;cAAA;gBAAAmQ,SAAA,CAAApQ,IAAA;gBAAA,MAEpCoK,QAAQ,CAAC2B,IAAI,IAAI,OAAO3B,QAAQ,CAAC2B,IAAI,CAACsE,SAAS,KAAK,UAAU;kBAAAD,SAAA,CAAAnQ,IAAA;kBAAA;gBAAA;gBAAA,OAAAmQ,SAAA,CAAAlQ,MAAA,WACzD8P,MAAI,CAACM,2BAA2B,CACrClG,QAAQ,CAAC2B,IAAI,EACboB,OAAO,EACPnC,MAAM,EACNZ,QAAQ,EACR9D,YACF,CAAC;cAAA;gBAAA,MAGC,OAAO8D,QAAQ,CAAC2B,IAAI,KAAK,QAAQ;kBAAAqE,SAAA,CAAAnQ,IAAA;kBAAA;gBAAA;gBAAA,OAAAmQ,SAAA,CAAAlQ,MAAA,WAC5B8P,MAAI,CAACO,2BAA2B,CACrCnG,QAAQ,CAAC2B,IAAI,EACboB,OAAO,EACP/C,QAAQ,EACR9D,YACF,CAAC;cAAA;gBAAA,MAGCmG,yEAAA,CAAOrC,QAAQ,CAAC2B,IAAI,MAAK,QAAQ,IAAI3B,QAAQ,CAAC2B,IAAI,KAAK,IAAI;kBAAAqE,SAAA,CAAAnQ,IAAA;kBAAA;gBAAA;gBAC7D+P,MAAI,CAACtK,MAAM,CAACiE,KAAK,CAAC,+CAA+C,CAAC;gBAClEqG,MAAI,CAACjB,wBAAwB,CAAC3E,QAAQ,CAAC2B,IAAI,EAAEzF,YAAY,CAAC;gBAAC,OAAA8J,SAAA,CAAAlQ,MAAA,WACpDiN,OAAO,CAAC/C,QAAQ,CAAC2B,IAAS,CAAC;cAAA;gBAGpCiE,MAAI,CAACtK,MAAM,CAACoK,KAAK,CAAC,kCAAkC,CAAC;gBAAC,OAAAM,SAAA,CAAAlQ,MAAA,WAC/C8K,MAAM,CAAC,IAAIC,KAAK,CAAC,kCAAkC,CAAC,CAAC;cAAA;gBAAAmF,SAAA,CAAApQ,IAAA;gBAAAmQ,GAAA,GAAAC,SAAA;gBAE5DJ,MAAI,CAACtK,MAAM,CAACoK,KAAK,yCAAAjP,MAAA,CAAAsP,GAAA,CAAgD,CAAC;gBAClEH,MAAI,CAACzC,qBAAqB,CAAA4C,GAAA,EAAQ7J,YAAY,CAAC;gBAC/C0E,MAAM,CAAAmF,GAAM,CAAC;cAAC;cAAA;gBAAA,OAAAC,SAAA,CAAA/P,IAAA;YAAA;UAAA,GAAA6P,QAAA;QAAA,CAEjB;QAAA,iBAAAM,GAAA,EAAAC,IAAA;UAAA,OAAAR,KAAA,CAAA1P,KAAA,OAAAC,SAAA;QAAA;MAAA,IAAC;IACJ;EAAC;IAAAjB,GAAA;IAAAC,KAAA;MAAA,IAAAkR,4BAAA,GAAAhR,mFAAA,cAAAC,sEAAA,CAED,SAAAgR,SACExB,MAAW,EACXhC,OAA2B,EAC3BnC,MAA8B,EAC9BZ,QAAuB,EACvB9D,YAEa;QAAA,IAAAsK,MAAA,EAAAxB,SAAA,EAAAC,MAAA,EAAAwB,kBAAA,EAAAC,IAAA,EAAAtR,KAAA,EAAAuR,MAAA,EAAAxB,KAAA,EAAAG,KAAA,EAAAsB,GAAA;QAAA,OAAArR,sEAAA,WAAAsR,SAAA;UAAA,kBAAAA,SAAA,CAAAjR,IAAA,GAAAiR,SAAA,CAAAhR,IAAA;YAAA;cAEb,IAAI,CAACyF,MAAM,CAACiE,KAAK,CAAC,uCAAuC,CAAC;cACpDiH,MAAM,GAAGzB,MAAM,CAACkB,SAAS,CAAC,CAAC;cAC3BjB,SAKA,GAAG,EAAE;cACPC,MAAM,GAAG,EAAE;cAAA4B,SAAA,CAAAjR,IAAA;YAAA;cAAA,SAGF,EAAE;AAAA,EAAF;cAAAiR,SAAA,CAAAhR,IAAA;cAAA,OACqB2Q,MAAM,CAACM,IAAI,CAAC,CAAC;YAAA;cAAAL,kBAAA,GAAAI,SAAA,CAAAjE,IAAA;cAAnC8D,IAAI,GAAAD,kBAAA,CAAJC,IAAI;cAAEtR,KAAK,GAAAqR,kBAAA,CAALrR,KAAK;cAAA,KAEfsR,IAAI;gBAAAG,SAAA,CAAAhR,IAAA;gBAAA;cAAA;cACN,IAAI,CAACyF,MAAM,CAACiE,KAAK,CAAC,yBAAyB,CAAC;cAC5C,IAAI0F,MAAM,CAACnB,IAAI,CAAC,CAAC,EAAE;gBACXwB,MAAK,GAAGL,MAAM,CAACM,KAAK,CAAC,IAAI,CAAC;gBAChC,IAAI,CAACE,kBAAkB,CAACH,MAAK,EAAEN,SAAS,EAAE9I,YAAY,CAAC;cACzD;cAAC,OAAA2K,SAAA,CAAA/Q,MAAA;YAAA;cAIGqP,KAAK,GAAG,IAAI4B,WAAW,CAAC,CAAC,CAACC,MAAM,CAAC5R,KAAK,CAAC;cAC7C,IAAI,CAACkG,MAAM,CAACiE,KAAK,oBAAA9I,MAAA,CAAoB0O,KAAK,CAAC9I,MAAM,WAAQ,CAAC;cAE1D4I,MAAM,IAAIE,KAAK;cACTG,KAAK,GAAGL,MAAM,CAACM,KAAK,CAAC,IAAI,CAAC;cAChCN,MAAM,GAAGK,KAAK,CAACE,GAAG,CAAC,CAAC,IAAI,EAAE;cAE1B,IAAI,CAACC,kBAAkB,CAACH,KAAK,EAAEN,SAAS,EAAE9I,YAAY,CAAC;cAAC2K,SAAA,CAAAhR,IAAA;cAAA;YAAA;cAG1D,IAAI,CAAC8P,oBAAoB,CAAIX,SAAS,EAAEjC,OAAO,EAAE/C,QAAQ,EAAE9D,YAAY,CAAC;cAAC2K,SAAA,CAAAhR,IAAA;cAAA;YAAA;cAAAgR,SAAA,CAAAjR,IAAA;cAAAgR,GAAA,GAAAC,SAAA;cAEzE,IAAI,CAACvL,MAAM,CAACoK,KAAK,kBAAAjP,MAAA,CAAAmQ,GAAA,CAAyB,CAAC;cAC3C,IAAI,CAACzD,qBAAqB,CAAAyD,GAAA,EAAQ1K,YAAY,CAAC;cAC/C0E,MAAM,CAAAgG,GAAM,CAAC;YAAC;YAAA;cAAA,OAAAC,SAAA,CAAA5Q,IAAA;UAAA;QAAA,GAAAsQ,QAAA;MAAA,CAEjB;MAAA,SAhDaL,2BAA2BA,CAAAe,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAf,4BAAA,CAAAnQ,KAAA,OAAAC,SAAA;MAAA;MAAA,OAA3B8P,2BAA2B;IAAA;EAAA;IAAA/Q,GAAA;IAAAC,KAAA,EAkDzC,SAAQ+Q,2BAA2BA,CACjCxE,IAAY,EACZoB,OAA2B,EAC3B/C,QAAuB,EACvB9D,YAEa,EACP;MACN,IAAI,CAACZ,MAAM,CAACiE,KAAK,CAAC,yCAAyC,CAAC;MAC5D,IAAMyF,SAKA,GAAG,EAAE;MAEX,IAAMM,KAAK,GAAG3D,IAAI,CAAC4D,KAAK,CAAC,IAAI,CAAC;MAC9B,IAAI,CAACE,kBAAkB,CAACH,KAAK,EAAEN,SAAS,EAAE9I,YAAY,CAAC;MAEvD,IAAI8I,SAAS,CAAC3I,MAAM,GAAG,CAAC,EAAE;QACxB,IAAMiL,WAAW,GACf,IAAI,CAACC,sBAAsB,CAEzBvC,SAAS,CAAC;QACd,IAAI,CAACL,wBAAwB,CAAC2C,WAAW,EAAEpL,YAAY,CAAC;QACxD6G,OAAO,CAACuE,WAA2B,CAAC;MACtC,CAAC,MAAM;QACL;QACA,IAAI,CAAChM,MAAM,CAACiE,KAAK,CAAC,sDAAsD,CAAC;QACzE,IAAI,CAACoF,wBAAwB,CAAC3E,QAAQ,CAAC2B,IAAI,EAAEzF,YAAY,CAAC;QAC1D6G,OAAO,CAAC/C,QAAQ,CAAC2B,IAAS,CAAC;MAC7B;IACF;EAAC;IAAAxM,GAAA;IAAAC,KAAA,EAED,SAAQqQ,kBAAkBA,CACxBH,KAAe,EACfN,SAAsD,EACtD9I,YAAyC,EACnC;MAAA,IAAAsL,SAAA,GAAAC,0BAAA,CACanC,KAAK;QAAAoC,KAAA;MAAA;QAAxB,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAlB,IAAA,GAA0B;UAAA,IAAf7C,IAAI,GAAA6D,KAAA,CAAAtS,KAAA;UACb,IAAIyO,IAAI,CAACC,IAAI,CAAC,CAAC,IAAID,IAAI,KAAK,cAAc,EAAE;YAC1C,IAAMgE,SAAS,GAAG,IAAI,CAACjE,oBAAoB,CAACC,IAAI,CAAC;YACjD,IAAIgE,SAAS,KAAK,IAAI,EAAE;cACtB,IAAI,CAACC,qBAAqB,CAACD,SAAS,EAAE3L,YAAY,CAAC;cAClD8I,SAAS,CAAoB+C,IAAI,CAACF,SAAS,CAAC;YAC/C;UACF;QACF;MAAC,SAAAG,GAAA;QAAAR,SAAA,CAAAS,CAAA,CAAAD,GAAA;MAAA;QAAAR,SAAA,CAAAU,CAAA;MAAA;IACH;EAAC;IAAA/S,GAAA;IAAAC,KAAA,EAED,SAAQuQ,oBAAoBA,CAC1BX,SAKM,EACNjC,OAA2B,EAC3B/C,QAAuB,EACvB9D,YAA0E,EACpE;MACN,IAAI8I,SAAS,CAAC3I,MAAM,GAAG,CAAC,EAAE;QACxB,IAAMiL,WAAW,GAAG,IAAI,CAACC,sBAAsB,CAACvC,SAAS,CAAC;QAC1D,IAAI,CAAC1J,MAAM,CAACiE,KAAK,CAAC,4BAA4B,CAAC;QAC/C,IAAI,CAACoF,wBAAwB,CAAC2C,WAAW,EAAEpL,YAAY,CAAC;QACxD6G,OAAO,CAACuE,WAA2B,CAAC;MACtC,CAAC,MAAM;QACL,IAAI,CAAChM,MAAM,CAACiE,KAAK,CAAC,sDAAsD,CAAC;QACzE,IAAI,CAACoF,wBAAwB,CAAC3E,QAAQ,CAAC2B,IAAI,EAAEzF,YAAY,CAAC;QAC1D6G,OAAO,CAAC/C,QAAQ,CAAC2B,IAAS,CAAC;MAC7B;IACF;;IAEA;AACF;AACA;AACA;EAHE;IAAAxM,GAAA;IAAAC,KAAA,EAIA,SAAQmS,sBAAsBA,CAC5BY,MAAmD,EAChC;MACnB,IAAIA,MAAM,CAAC9L,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;MAClC,IAAI8L,MAAM,CAAC9L,MAAM,KAAK,CAAC,EAAE,OAAO8L,MAAM,CAAC,CAAC,CAAC;;MAEzC;MACA,IAAMC,cAAc,GAAG,IAAI,CAACC,gBAAgB,CAC1CF,MACF,CAAC;MACD,IAAIC,cAAc,CAAC/L,MAAM,GAAG,CAAC,EAAE;QAC7B,OAAO,IAAI,CAACiM,oBAAoB,CAC9BH,MAAM,EACNC,cACF,CAAC;MACH;;MAEA;MACA,IAAMG,SAAS,GAAGJ,MAAM,CAACA,MAAM,CAAC9L,MAAM,GAAG,CAAC,CAAC;MAC3C,IAAI,CAAC,IAAI,CAACmM,wBAAwB,CAACD,SAAS,CAAC,EAAE;QAC7C,MAAM,IAAI1H,KAAK,CAAC,8CAA8C,CAAC;MACjE;MAEA,OAAO0H,SAAS;IAClB;EAAC;IAAApT,GAAA;IAAAC,KAAA,EAED,SAAQiT,gBAAgBA,CACtBF,MAA8C,EAC9B;MAChB,OAAOA,MAAM,CAACM,MAAM,CAAC,IAAI,CAACC,cAAc,CAAC;IAC3C;EAAC;IAAAvT,GAAA;IAAAC,KAAA,EAED,SAAQsT,cAAcA,CAACvD,KAAc,EAAyB;MAC5D,OACE9C,yEAAA,CAAO8C,KAAK,MAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACd,SAAS,IAAIA,KAAK,IAClB,iBAAiB,IAAIA,KAAK;IAE9B;EAAC;IAAAhQ,GAAA;IAAAC,KAAA,EAED,SAAQkT,oBAAoBA,CAC1BH,MAA8C,EAC9CC,cAA8B,EACX;MACnB,IAAI,CAAC9M,MAAM,CAACiE,KAAK,UAAA9I,MAAA,CACN2R,cAAc,CAAC/L,MAAM,+BAChC,CAAC;MAED,IAAMkM,SAAS,GAAGJ,MAAM,CAACA,MAAM,CAAC9L,MAAM,GAAG,CAAC,CAAC;MAC3C,IAAI,IAAI,CAACmM,wBAAwB,CAACD,SAAS,CAAC,EAAE;QAC5C,OAAOA,SAAS;MAClB;MAEA,IAAMI,aAAa,GAAGR,MAAM,CAACS,IAAI,CAAC,IAAI,CAACJ,wBAAwB,CAAC;MAEhE,IAAI,CAACG,aAAa,EAAE;QAClB,MAAM,IAAI9H,KAAK,CAAC,yBAAyB,CAAC;MAC5C;MAEA,OAAO8H,aAAa;IACtB;EAAC;IAAAxT,GAAA;IAAAC,KAAA,EAED,SAAQoT,wBAAwBA,CAC9BrD,KAAuC,EACX;MAC5B,IACE9C,yEAAA,CAAO8C,KAAK,MAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACdjE,MAAM,CAACc,IAAI,CAACmD,KAAe,CAAC,CAAC9I,MAAM,GAAG,CAAC,EACvC;QACA,OACE,SAAS,IAAK8I,KAAgB,IAC9B,OAAO,IAAKA,KAAgB,IAC5B,MAAM,IAAKA,KAAgB,IAC3B,MAAM,IAAKA,KAAgB,IAC3B,gBAAgB,IAAKA,KAAgB;MAEzC;MACA,OAAO,KAAK;IACd;;IAEA;IACA;IACA;EAAA;IAAAhQ,GAAA;IAAAC,KAAA,EACA,SAAAmL,WAAWA,CAAA,EAA0B;MAAA,IAAzBxB,aAAa,GAAA3I,SAAA,CAAAiG,MAAA,QAAAjG,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,CAAC;MAC3B;MACA,IAAI,IAAI,CAACyE,WAAW,IAAI,IAAI,EAAE;QAC5B,IAAI,CAACS,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,2BAAAtI,MAAA,CACvB,IAAI,CAACoE,WAAW,CAAC2F,KAAK,UAAA/J,MAAA,CACjB,IAAI,CAACoE,WAAW,CAACgO,SAAS,KAAK,IAAI,GAAG,SAAS,GAAG,WAAW,CACtE,CAAC;QACD,IACE,IAAI,CAAChO,WAAW,CAACgO,SAAS,KAAK,IAAI,IACnC,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAACjO,WAAW,EAAEkE,aAAa,CAAC,EAC3D;UACA,IAAI,CAACzD,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,qCAAAtI,MAAA,CAAkC,IAAI,CAACoE,WAAW,CAAC2F,KAAK,CACnF,CAAC;UACD,OAAO,IAAI,CAAC3F,WAAW;QACzB;QACA,IAAI,CAACS,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,uCAC3B,CAAC;MACH;;MAEA;MACA,IAAI,CAACzD,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,sBAAAtI,MAAA,CAAmB,IAAI,CAACgE,KAAK,CACnDsO,GAAG,CACF,UAAC3O,IAAI;QAAA,eAAA3D,MAAA,CACK2D,IAAI,CAACoG,KAAK,UAAA/J,MAAA,CAChB2D,IAAI,CAACyO,SAAS,KAAK,IAAI,GAAG,SAAS,GAAG,WAAW;MAAA,CAEvD,CAAC,CACAG,IAAI,CAAC,MAAM,CAAC,CACjB,CAAC;MACD,IAAIC,aAAmB,GAAG,IAAI,CAACxO,KAAK,CAAC,CAAC,CAAC;MACvC,KAAK,IAAIyO,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,IAAI,CAACzO,KAAK,CAAC4B,MAAM,EAAE6M,CAAC,EAAE,EAAE;QAC3C,IAAI,CAAC1N,gBAAgB,GAAG,CAAC,IAAI,CAACA,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAACf,KAAK,CAAC4B,MAAM;QACvE4M,aAAa,GAAG,IAAI,CAACxO,KAAK,CAAC,IAAI,CAACe,gBAAgB,CAAC;QACjD,IACEyN,aAAa,CAACJ,SAAS,KAAK,IAAI,IAChC,IAAI,CAACC,qBAAqB,CAACG,aAAa,EAAElK,aAAa,CAAC,EACxD;UACA,IAAI,CAACzD,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,qCAAAtI,MAAA,CAAkCwS,aAAa,CAACzI,KAAK,CAChF,CAAC;UACD,OAAOyI,aAAa;QACtB;MACF;;MAEA;MACA;MACA,IAAI,CAAC3N,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,mEAAAtI,MAAA,CAAgEwS,aAAa,CAACzI,KAAK,CAC9G,CAAC;MACD,OAAOyI,aAAa;IACtB;EAAC;IAAA9T,GAAA;IAAAC,KAAA,EAED,SAAA0T,qBAAqBA,CAAC1O,IAAI,EAA8B;MAAA,IAA5B2E,aAAa,GAAA3I,SAAA,CAAAiG,MAAA,QAAAjG,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,CAAC;MAC3C,IAAM+S,mBAAmB,GACvB1J,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGtF,IAAI,CAACgP,mBAAmB,GACrC,IAAI,CAACrO,0BAA0B,GAAG,IAAI;MACxC,IAAIoO,mBAAmB,EAAE;QACvB,IAAI,CAAC7N,MAAM,CAACiE,KAAK,aAAA9I,MAAA,CACHsI,aAAa,aAAAtI,MAAA,CAAU2D,IAAI,CAACoG,KAAK,iDAAA/J,MAAA,CAA8C,IAAI,CAACsE,0BAA0B,oCAC5H,CAAC;MACH;MACA,OAAOoO,mBAAmB;IAC5B;EAAC;IAAAhU,GAAA;IAAAC,KAAA,EAED,SAAAmG,0BAA0BA,CAAA,EAAS;MAAA,IAAA8N,MAAA;MACjC,IAAI,IAAI,CAACxO,WAAW,IAAI,IAAI,EAAE;QAC5B,IAAI,CAACA,WAAW,CAAC2F,KAAK,GAAG,aAAa;QACtC,IAAI,CAACqC,kBAAkB,CAAC,IAAI,CAAChI,WAAW,EAAEd,OAAO,CAAC;MACpD;MAEA,IAAI,CAACU,KAAK,CAAC6O,OAAO,CAAC,UAAClP,IAAI,EAAE8O,CAAC,EAAK;QAC9B9O,IAAI,CAACoG,KAAK,GAAG0I,CAAC;QACdG,MAAI,CAACxG,kBAAkB,CAACzI,IAAI,EAAEL,OAAO,CAAC;MACxC,CAAC,CAAC;IACJ;EAAC;IAAA5E,GAAA;IAAAC,KAAA,EAED,SAAAyN,kBAAkBA,CAACzI,IAAI,EAAEyO,SAAS,EAAQ;MACxCzO,IAAI,CAACyO,SAAS,GAAGA,SAAS;MAC1BzO,IAAI,CAACgP,mBAAmB,GAAG3J,IAAI,CAACC,GAAG,CAAC,CAAC;IACvC;EAAC;IAAAvK,GAAA;IAAAC,KAAA,EAED,SAAA4L,MAAMA,CAACtF,QAAgB,EAAEtB,IAAI,EAAU;MACrC,IAAIA,IAAI,CAAC2G,GAAG,IAAI,IAAI,EAAE;QACpB,UAAAtK,MAAA,CAAU2D,IAAI,CAAC2G,GAAG,EAAAtK,MAAA,CAAGiF,QAAQ;MAC/B;MACA,UAAAjF,MAAA,CAAU2D,IAAI,CAACmP,QAAQ,SAAA9S,MAAA,CAAM2D,IAAI,CAACoP,IAAI,OAAA/S,MAAA,CAAI2D,IAAI,CAACqP,IAAI,EAAAhT,MAAA,CAAG2D,IAAI,CAACsP,IAAI,EAAAjT,MAAA,CAAGiF,QAAQ;IAC5E;EAAC;IAAAvG,GAAA;IAAAC,KAAA,EAED,SAAAgM,cAAcA,CAAA,EAAQ;MACpB,IAAMA,cAAc,GAAG,CAAC,CAAC;MACzB,IAAI,CAAC,IAAI,CAACjG,sBAAsB,EAAE;QAChCiG,cAAc,CAACtH,gBAAgB,CAAC,GAAG,IAAI,CAACU,MAAM;MAChD;MACA4G,cAAc,CAAC,cAAc,CAAC,GAAG,kBAAkB;MACnD,OAAOA,cAAc;IACvB;EAAC;IAAAjM,GAAA;IAAAC,KAAA;MAAA,IAAAuU,MAAA,GAAArU,mFAAA,cAAAC,sEAAA,CAED,SAAAqU,SAAYC,OAAO;QAAA,OAAAtU,sEAAA,WAAAuU,SAAA;UAAA,kBAAAA,SAAA,CAAAlU,IAAA,GAAAkU,SAAA,CAAAjU,IAAA;YAAA;cAAA,OAAAiU,SAAA,CAAAhU,MAAA,WACV,IAAI6K,OAAO,CAAC,UAACoC,OAAO;gBAAA,OAAKgH,UAAU,CAAChH,OAAO,EAAE8G,OAAO,GAAG,IAAI,CAAC;cAAA,EAAC;YAAA;YAAA;cAAA,OAAAC,SAAA,CAAA7T,IAAA;UAAA;QAAA,GAAA2T,QAAA;MAAA,CACrE;MAAA,SAFKxG,KAAKA,CAAA4G,IAAA;QAAA,OAAAL,MAAA,CAAAxT,KAAA,OAAAC,SAAA;MAAA;MAAA,OAALgN,KAAK;IAAA;EAAA;IAAAjO,GAAA;IAAAC,KAAA,EAIX,SAAA4N,sBAAsBA,CACpBhD,QAAuB,EACvBiK,iBAAyB,EACzBC,QAAiB,EACD;MAChB,IAAIC,YAAY,oCAAA1T,MAAA,CAAoCuJ,QAAQ,CAACyB,MAAM,CAAE;MACrE,IACE,OAAOwI,iBAAiB,KAAK,QAAQ,IACrCA,iBAAiB,CAACnG,IAAI,CAAC,CAAC,KAAK,EAAE,EAC/B;QACAqG,YAAY,uBAAA1T,MAAA,CAAuBwT,iBAAiB,CAAE;MACxD;MAEA,IAAIvE,KAAK,GAAG,IAAI9L,+DAAc,CAACuQ,YAAY,EAAED,QAAQ,EAAElK,QAAQ,CAACyB,MAAM,CAAC;MAEvE,IAAIzB,QAAQ,CAACyB,MAAM,KAAK,GAAG,EAAE;QAC3BiE,KAAK,GAAG,IAAIjM,sDAAgB,CAAC0Q,YAAY,EAAED,QAAQ,EAAElK,QAAQ,CAACyB,MAAM,CAAC;MACvE,CAAC,MAAM,IAAIzB,QAAQ,CAACyB,MAAM,KAAK,GAAG,EAAE;QAClCiE,KAAK,GAAG,IAAIhM,yDAAmB,CAACyQ,YAAY,EAAED,QAAQ,EAAElK,QAAQ,CAACyB,MAAM,CAAC;MAC1E,CAAC,MAAM,IAAIzB,QAAQ,CAACyB,MAAM,KAAK,GAAG,EAAE;QAClCiE,KAAK,GAAG,IAAInM,oDAAc,CAAC4Q,YAAY,EAAED,QAAQ,EAAElK,QAAQ,CAACyB,MAAM,CAAC;MACrE,CAAC,MAAM,IAAIzB,QAAQ,CAACyB,MAAM,KAAK,GAAG,EAAE;QAClCiE,KAAK,GAAG,IAAIpM,yDAAmB,CAAC6Q,YAAY,EAAED,QAAQ,EAAElK,QAAQ,CAACyB,MAAM,CAAC;MAC1E,CAAC,MAAM,IAAIzB,QAAQ,CAACyB,MAAM,KAAK,GAAG,EAAE;QAClCiE,KAAK,GAAG,IAAIlM,yDAAmB,CAAC2Q,YAAY,EAAED,QAAQ,EAAElK,QAAQ,CAACyB,MAAM,CAAC;MAC1E,CAAC,MAAM,IAAIzB,QAAQ,CAACyB,MAAM,IAAI,GAAG,IAAIzB,QAAQ,CAACyB,MAAM,IAAI,GAAG,EAAE;QAC3DiE,KAAK,GAAG,IAAI/L,iDAAW,CAACwQ,YAAY,EAAED,QAAQ,EAAElK,QAAQ,CAACyB,MAAM,CAAC;MAClE,CAAC,MAAM;QACLiE,KAAK,GAAG,IAAIrM,+CAAS,CAAC8Q,YAAY,EAAED,QAAQ,EAAElK,QAAQ,CAACyB,MAAM,CAAC;MAChE;MAEA,OAAOiE,KAAK;IACd;EAAC;IAAAvQ,GAAA;IAAAC,KAAA,EAED,SAAQ0S,qBAAqBA,CAC3BnG,IAGC,EACDzF,YAAyC,EACnC;MACN,IAAIA,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEkO,OAAO,EAAE;QACzB,IAAI;UACFlO,YAAY,CAACkO,OAAO,CAACzI,IAAI,CAAC;QAC5B,CAAC,CAAC,OAAO+D,KAAK,EAAE;UACd,IAAI,CAACpK,MAAM,CAACtC,IAAI,+BAAAvC,MAAA,CAA+BiP,KAAK,CAAE,CAAC;QACzD;MACF;IACF;EAAC;IAAAvQ,GAAA;IAAAC,KAAA,EAED,SAAQuP,wBAAwBA,CAC9BhD,IAAuB,EACvBzF,YAAyC,EACnC;MACN,IAAIA,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEmO,UAAU,EAAE;QAC5B,IAAI;UACFnO,YAAY,CAACmO,UAAU,CAAC1I,IAAI,CAAC;QAC/B,CAAC,CAAC,OAAO+D,KAAK,EAAE;UACd,IAAI,CAACpK,MAAM,CAACtC,IAAI,kCAAAvC,MAAA,CAAkCiP,KAAK,CAAE,CAAC;QAC5D;MACF;IACF;EAAC;IAAAvQ,GAAA;IAAAC,KAAA,EAED,SAAQ+N,qBAAqBA,CAC3BuC,KAAc,EACdxJ,YAAyC,EACnC;MACN,IAAIA,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEoO,OAAO,EAAE;QACzB,IAAMC,QAAQ,GAAG1Q,2DAAkB,CAAC6L,KAAK,CAAC;QAC1C,IAAI;UACFxJ,YAAY,CAACoO,OAAO,CAACC,QAAQ,CAAC;QAChC,CAAC,CAAC,OAAOC,aAAa,EAAE;UACtB,IAAI,CAAClP,MAAM,CAACtC,IAAI,+BAAAvC,MAAA,CAA+B+T,aAAa,CAAE,CAAC;QACjE;MACF;IACF;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7kCH;;AAEsE;AACtC;AACQ;AACF;AACN;AACJ;AACF;AACF;AACI;AACI;AACJ;AACE;AACQ;AACE;AACR;AACF;AACU;AACJ;AACA;AACF;AACU;AACF;AACR;AACY;AACF;AACJ;AACF;AACI;AACF;AAAA,IACnByB,MAAM;EA+BzB,SAAAA,OAAYC,OAA6B,EAAE;IAAA,IAAAC,qBAAA;IAAAlX,iFAAA,OAAAgX,MAAA;IACzCC,OAAO,CAAC/Q,sBAAsB,IAAAgR,qBAAA,GAAGD,OAAO,CAAC/Q,sBAAsB,cAAAgR,qBAAA,cAAAA,qBAAA,GAAI,KAAK;IAExE,IAAI,CAAC5R,aAAa,GAAG,IAAIkQ,sDAAa,CAACyB,OAAO,CAAC;IAC/C,IAAI,CAAClX,OAAO,GAAG,IAAIsF,gDAAO,CAAC,IAAI,CAACC,aAAa,CAAC;IAC9C,IAAI,CAACgF,KAAK,GAAG,IAAIuL,+CAAK,CAAC,IAAI,CAAC9V,OAAO,CAAC;IACpC,IAAI,CAACoX,OAAO,GAAG,IAAIrB,iDAAO,CAAC,IAAI,CAAC/V,OAAO,CAAC;IACxC,IAAI,CAACqX,KAAK,GAAG,IAAIrB,+CAAK,CAAC,IAAI,CAAChW,OAAO,CAAC;IACpC,IAAI,CAACsX,MAAM,GAAG,IAAIrB,gDAAM,CAAC,IAAI,CAACjW,OAAO,CAAC;IACtC,IAAI,CAACuX,UAAU,GAAG,IAAIrB,oDAAU,CAAC,IAAI,CAAClW,OAAO,CAAC;IAC9C,IAAI,CAACwX,WAAW,GAAG,IAAIrB,qDAAW,CAAC,IAAI,CAACnW,OAAO,EAAE,IAAI,CAACuF,aAAa,CAAC;IACpE,IAAI,CAACkS,YAAY,GAAG,IAAI/B,oDAAW,CAAC,IAAI,CAAC1V,OAAO,CAAC;IACjD,IAAI,CAAC0X,qBAAqB,GAAG,CAAC,CAAC;IAC/B,IAAI,CAACC,QAAQ,GAAG,IAAI9X,gDAAO,CAAC,IAAI,CAACG,OAAO,CAAC;IACzC,IAAI,CAAC4X,iBAAiB,GAAG,CAAC,CAAC;IAC3B,IAAI,CAACC,KAAK,GAAG,IAAIjC,6CAAI,CAAC,IAAI,CAAC5V,OAAO,CAAC;IACnC,IAAI,CAAC8X,cAAc,GAAG,CAAC,CAAC;IACxB,IAAI,CAACC,QAAQ,GAAG,IAAI3B,iDAAO,CAAC,IAAI,CAACpW,OAAO,CAAC;IACzC,IAAI,CAACgY,iBAAiB,GAAG,CAAC,CAAC;IAC3B,IAAI,CAACC,UAAU,GAAG,IAAI3B,mDAAS,CAAC,IAAI,CAACtW,OAAO,CAAC;IAC7C,IAAI,CAACkY,mBAAmB,GAAG,CAAC,CAAC;IAC7B,IAAI,CAACC,SAAS,GAAG,IAAI5V,mDAAS,CAAC,IAAI,CAACvC,OAAO,CAAC;IAC5C,IAAI,CAACoY,WAAW,GAAG,IAAIvU,qDAAW,CAAC,IAAI,CAAC7D,OAAO,CAAC;IAChD,IAAI,CAACqY,QAAQ,GAAG,IAAI3B,kDAAQ,CAAC,IAAI,CAAC1W,OAAO,CAAC;IAC1C,IAAI,CAACsY,cAAc,GAAG,IAAI9B,uDAAa,CAAC,IAAI,CAACxW,OAAO,CAAC;IACrD,IAAI,CAACuY,uBAAuB,GAAG,CAAC,CAAC;IACjC,IAAI,CAACC,eAAe,GAAG,IAAI7B,wDAAc,CAAC,IAAI,CAAC3W,OAAO,CAAC;IACvD,IAAI,CAACyY,wBAAwB,GAAG,CAAC,CAAC;IAClC,IAAI,CAACC,YAAY,GAAG,IAAI7B,qDAAW,CAAC,IAAI,CAAC7W,OAAO,CAAC;IACjD,IAAI,CAAC2Y,qBAAqB,GAAG,CAAC,CAAC;IAC/B,IAAI,CAACC,aAAa,GAAG,IAAI7B,sDAAY,CAAC,IAAI,CAAC/W,OAAO,CAAC;IACnD,IAAI,CAAC6Y,sBAAsB,GAAG,CAAC,CAAC;EAClC;EAAC,OAAA3Y,8EAAA,CAAA+W,MAAA;IAAA9W,GAAA;IAAAC,KAAA,EAMD,SAAA0Y,WAAWA,CAACC,cAAuB,EAA4B;MAC7D,IAAIA,cAAc,KAAKlW,SAAS,EAAE;QAChC,OAAO,IAAI,CAAC4U,YAAY;MAC1B,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,qBAAqB,CAACqB,cAAc,CAAC,KAAKlW,SAAS,EAAE;UAC5D,IAAI,CAAC6U,qBAAqB,CAACqB,cAAc,CAAC,GAAG,IAAIpD,mDAAU,CACzDoD,cAAc,EACd,IAAI,CAAC/Y,OAAO,EACZ,IAAI,CAACuF,aACP,CAAC;QACH;QACA,OAAO,IAAI,CAACmS,qBAAqB,CAACqB,cAAc,CAAC;MACnD;IACF;EAAC;IAAA5Y,GAAA;IAAAC,KAAA,EAID,SAAA4Y,OAAOA,CAAC7W,SAAkB,EAAmB;MAC3C,IAAIA,SAAS,KAAKU,SAAS,EAAE;QAC3B,OAAO,IAAI,CAAC8U,QAAQ;MACtB,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,iBAAiB,CAACzV,SAAS,CAAC,KAAKU,SAAS,EAAE;UACnD,IAAI,CAAC+U,iBAAiB,CAACzV,SAAS,CAAC,GAAG,IAAIrC,8CAAK,CAACqC,SAAS,EAAE,IAAI,CAACnC,OAAO,CAAC;QACxE;QACA,OAAO,IAAI,CAAC4X,iBAAiB,CAACzV,SAAS,CAAC;MAC1C;IACF;EAAC;IAAAhC,GAAA;IAAAC,KAAA,EAID,SAAA4M,IAAIA,CAACpK,EAAW,EAAc;MAC5B,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAACgV,KAAK;MACnB,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,cAAc,CAAClV,EAAE,CAAC,KAAKC,SAAS,EAAE;UACzC,IAAI,CAACiV,cAAc,CAAClV,EAAE,CAAC,GAAG,IAAIiT,4CAAG,CAACjT,EAAE,EAAE,IAAI,CAAC5C,OAAO,CAAC;QACrD;QACA,OAAO,IAAI,CAAC8X,cAAc,CAAClV,EAAE,CAAC;MAChC;IACF;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAID,SAAA6Y,OAAOA,CAACrW,EAAW,EAAoB;MACrC,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAACkV,QAAQ;MACtB,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,iBAAiB,CAACpV,EAAE,CAAC,KAAKC,SAAS,EAAE;UAC5C,IAAI,CAACmV,iBAAiB,CAACpV,EAAE,CAAC,GAAG,IAAIyT,gDAAM,CAACzT,EAAE,EAAE,IAAI,CAAC5C,OAAO,CAAC;QAC3D;QACA,OAAO,IAAI,CAACgY,iBAAiB,CAACpV,EAAE,CAAC;MACnC;IACF;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAID,SAAA8Y,SAASA,CAACtW,EAAW,EAAwB;MAC3C,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAACoV,UAAU;MACxB,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,mBAAmB,CAACtV,EAAE,CAAC,KAAKC,SAAS,EAAE;UAC9C,IAAI,CAACqV,mBAAmB,CAACtV,EAAE,CAAC,GAAG,IAAI2T,kDAAQ,CAAC3T,EAAE,EAAE,IAAI,CAAC5C,OAAO,CAAC;QAC/D;QACA,OAAO,IAAI,CAACkY,mBAAmB,CAACtV,EAAE,CAAC;MACrC;IACF;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAID,SAAA+Y,aAAaA,CAACvW,EAAW,EAAgC;MACvD,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAACyV,cAAc;MAC5B,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,uBAAuB,CAAC3V,EAAE,CAAC,KAAKC,SAAS,EAAE;UAClD,IAAI,CAAC0V,uBAAuB,CAAC3V,EAAE,CAAC,GAAG,IAAI6T,sDAAY,CAAC7T,EAAE,EAAE,IAAI,CAAC5C,OAAO,CAAC;QACvE;QACA,OAAO,IAAI,CAACuY,uBAAuB,CAAC3V,EAAE,CAAC;MACzC;IACF;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAID,SAAAgZ,cAAcA,CAACxW,EAAW,EAAkC;MAC1D,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAAC2V,eAAe;MAC7B,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,wBAAwB,CAAC7V,EAAE,CAAC,KAAKC,SAAS,EAAE;UACnD,IAAI,CAAC4V,wBAAwB,CAAC7V,EAAE,CAAC,GAAG,IAAIgU,uDAAa,CAAChU,EAAE,EAAE,IAAI,CAAC5C,OAAO,CAAC;QACzE;QACA,OAAO,IAAI,CAACyY,wBAAwB,CAAC7V,EAAE,CAAC;MAC1C;IACF;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAID,SAAAiZ,WAAWA,CAACC,cAAuB,EAA4B;MAC7D,IAAIA,cAAc,KAAKzW,SAAS,EAAE;QAChC,OAAO,IAAI,CAAC6V,YAAY;MAC1B,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,qBAAqB,CAACW,cAAc,CAAC,KAAKzW,SAAS,EAAE;UAC5D,IAAI,CAAC8V,qBAAqB,CAACW,cAAc,CAAC,GAAG,IAAIxC,oDAAU,CACzDwC,cAAc,EACd,IAAI,CAACtZ,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC2Y,qBAAqB,CAACW,cAAc,CAAC;MACnD;IACF;EAAC;IAAAnZ,GAAA;IAAAC,KAAA,EAID,SAAAmZ,YAAYA,CAACxZ,IAAa,EAA8B;MACtD,IAAIA,IAAI,KAAK8C,SAAS,EAAE;QACtB,OAAO,IAAI,CAAC+V,aAAa;MAC3B,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,sBAAsB,CAAC9Y,IAAI,CAAC,KAAK8C,SAAS,EAAE;UACnD,IAAI,CAACgW,sBAAsB,CAAC9Y,IAAI,CAAC,GAAG,IAAIiX,qDAAW,CACjDjX,IAAI,EACJ,IAAI,CAACC,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC6Y,sBAAsB,CAAC9Y,IAAI,CAAC;MAC1C;IACF;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9NqC;AAKgB;AACd;AACN;AACF;AACA;AACF;AACM;AAAA,IA6DjB4V,UAAU;EAQ7B,SAAAA,WACmB5V,IAAY,EACZC,OAAgB,EAChBuF,aAAkB,EACnC;IAAAtF,iFAAA,OAAA0V,UAAA;IAAAnT,iFAAA,8BAVyD,CAAC,CAAC;IAAAA,iFAAA,8BAEL,CAAC,CAAC;IAAAA,iFAAA,6BAEJ,CAAC,CAAC;IAAA,KAGrCzC,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAgB,GAAhBA,OAAgB;IAAA,KAChBuF,aAAkB,GAAlBA,aAAkB;IAEnC,IAAI,CAACxF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACuF,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACuU,UAAU,GAAG,IAAIN,kDAAS,CAC7B,IAAI,CAACzZ,IAAI,EACT,IAAI,CAACC,OAAO,EACZ,IAAI,CAACuF,aACP,CAAC;IACD,IAAI,CAACwU,UAAU,GAAG,IAAIN,kDAAS,CAAC,IAAI,CAAC1Z,IAAI,EAAE,IAAI,CAACC,OAAO,CAAC;IACxD,IAAI,CAACga,SAAS,GAAG,IAAIL,kDAAQ,CAAC,IAAI,CAAC5Z,IAAI,EAAE,IAAI,CAACC,OAAO,CAAC;EACxD;EAAC,OAAAE,8EAAA,CAAAyV,UAAA;IAAAxV,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAmB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC/D;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAA6Z,OAAA,GAAA3Z,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAa4Y,MAA8B;QAAA,OAAA3Z,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WAClC,IAAI,CAACd,OAAO,CAACuI,KAAK,CAAmB,IAAI,CAACvH,YAAY,CAAC,CAAC,EAAEkZ,MAAM,CAAC;YAAA;YAAA;cAAA,OAAA3Y,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACzE;MAAA,SAFK6Y,MAAMA,CAAAlY,EAAA;QAAA,OAAAgY,OAAA,CAAA9Y,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+Y,MAAM;IAAA;EAAA;IAAAha,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAIZ,SAAAiD,SAAA;QAAA,IAAA0T,OAAA;UAAApP,MAAA,GAAA1G,SAAA;QAAA,OAAAb,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cACEqW,OAAgC,GAAApP,MAAA,CAAAT,MAAA,QAAAS,MAAA,QAAAjF,SAAA,GAAAiF,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAnE,SAAA,CAAA7C,MAAA,WAE9B,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAmB,IAAI,CAACR,YAAY,CAAC,CAAC,EAAEkW,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAvT,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CAC3E;MAAA,SAJKhC,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA;MAAA,IAAAga,OAAA,GAAA9Z,mFAAA,cAAAC,sEAAA,CAMZ,SAAAyH,SAAA;QAAA,IAAAqD,EAAA;QAAA,OAAA9K,sEAAA,WAAA2H,SAAA;UAAA,kBAAAA,SAAA,CAAAtH,IAAA,GAAAsH,SAAA,CAAArH,IAAA;YAAA;cAAAqH,SAAA,CAAAtH,IAAA;cAAAsH,SAAA,CAAArH,IAAA;cAAA,OAEU,IAAI,CAACK,QAAQ,CAAC,CAAC;YAAA;cAAA,OAAAgH,SAAA,CAAApH,MAAA,WACd,IAAI;YAAA;cAAAoH,SAAA,CAAAtH,IAAA;cAAAyK,EAAA,GAAAnD,SAAA;cAAA,MAEPmD,EAAA,YAAa9G,mDAAc;gBAAA2D,SAAA,CAAArH,IAAA;gBAAA;cAAA;cAAA,OAAAqH,SAAA,CAAApH,MAAA,WAAS,KAAK;YAAA;cAAA,MAAAuK,EAAA;YAAA;YAAA;cAAA,OAAAnD,SAAA,CAAAjH,IAAA;UAAA;QAAA,GAAA+G,QAAA;MAAA,CAGhD;MAAA,SARKqS,MAAMA,CAAA;QAAA,OAAAD,OAAA,CAAAjZ,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANiZ,MAAM;IAAA;EAAA;IAAAla,GAAA;IAAAC,KAAA,EAYZ,SAAAka,SAASA,CAACC,UAAmB,EAA8B;MACzD,IAAI,CAACA,UAAU,EAAE;QACf,OAAO,IAAI,CAACT,UAAU;MACxB,CAAC,MAAM;QACL,IAAI,IAAI,CAACU,mBAAmB,CAACD,UAAU,CAAC,KAAK1X,SAAS,EAAE;UACtD,IAAI,CAAC2X,mBAAmB,CAACD,UAAU,CAAC,GAAG,IAAIV,gDAAQ,CACjD,IAAI,CAAC9Z,IAAI,EACTwa,UAAU,EACV,IAAI,CAACva,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAACwa,mBAAmB,CAACD,UAAU,CAAC;MAC7C;IACF;EAAC;IAAApa,GAAA;IAAAC,KAAA,EAID,SAAAqa,SAASA,CAACC,UAAmB,EAAwB;MACnD,IAAIA,UAAU,KAAK7X,SAAS,EAAE;QAC5B,OAAO,IAAI,CAACkX,UAAU;MACxB,CAAC,MAAM;QACL,IAAI,IAAI,CAACY,mBAAmB,CAACD,UAAU,CAAC,KAAK7X,SAAS,EAAE;UACtD,IAAI,CAAC8X,mBAAmB,CAACD,UAAU,CAAC,GAAG,IAAIhB,iDAAQ,CACjD,IAAI,CAAC3Z,IAAI,EACT2a,UAAU,EACV,IAAI,CAAC1a,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC2a,mBAAmB,CAACD,UAAU,CAAC;MAC7C;IACF;EAAC;IAAAva,GAAA;IAAAC,KAAA,EAID,SAAAwa,QAAQA,CAACC,SAAkB,EAAsB;MAC/C,IAAIA,SAAS,KAAKhY,SAAS,EAAE;QAC3B,OAAO,IAAI,CAACmX,SAAS;MACvB,CAAC,MAAM;QACL,IAAI,IAAI,CAACc,kBAAkB,CAACD,SAAS,CAAC,KAAKhY,SAAS,EAAE;UACpD,IAAI,CAACiY,kBAAkB,CAACD,SAAS,CAAC,GAAG,IAAIjB,iDAAO,CAC9C,IAAI,CAAC7Z,IAAI,EACT8a,SAAS,EACT,IAAI,CAAC7a,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC8a,kBAAkB,CAACD,SAAS,CAAC;MAC3C;IACF;EAAC;IAAA1a,GAAA;IAAAC,KAAA,EAED,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUiU,oDAAW,CAAChU,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC5B,IAAI,CAAC;IACrE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACtJH;AACA;AACA;AACA;AACA;AACA;;AAeA,IAAM2B,YAAY,GAAG,cAAc;AAAC,IAEfgU,WAAW;EAC9B,SAAAA,YAAoB1V,OAAgB,EAAE;IAAAC,iFAAA,OAAAyV,WAAA;IAAA,KAAlB1V,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAAwV,WAAA;IAAAvV,GAAA;IAAAC,KAAA;MAAA,IAAA4C,OAAA,GAAA1C,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QACEyZ,MAAuC,EACvChD,OAAiB;QAAA,OAAA3W,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAEV,IAAI,CAACd,OAAO,CAACkD,IAAI,CAAmBxB,YAAY,EAAEwY,MAAM,EAAEhD,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAvW,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC1E;MAAA,SALK0C,MAAMA,CAAAlB,EAAA,EAAAC,GAAA;QAAA,OAAAc,OAAA,CAAA7B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+B,MAAM;IAAA;EAAA;IAAAhD,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAOZ,SAAAe,SAAA;QAAA,IAAA4V,OAAA;UAAA3P,MAAA,GAAAnG,SAAA;QAAA,OAAAb,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cACEqW,OAAmC,GAAA3P,MAAA,CAAAF,MAAA,QAAAE,MAAA,QAAA1E,SAAA,GAAA0E,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAhG,SAAA,CAAAT,MAAA,WAEjC,IAAI,CAACd,OAAO,CAACe,GAAG,CAAqBW,YAAY,EAAEwV,OAAO,CAAC;YAAA;YAAA;cAAA,OAAA3V,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACnE;MAAA,SAJKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAY,GAAA,EAMd,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AClEgC;AAEkB;;AA+GrD;AACA;AACA;;AAaA;AACA;AACA;AACA;AAHA,IAaqB+T,aAAa;EAyBhC,SAAAA,cAAYyB,OAA6B,EAAE;IAAA,IAAA9N,KAAA;IAAAnJ,iFAAA,OAAAwV,aAAA;IACzC,IAAI,CAAChQ,KAAK,GAAGyR,OAAO,CAACzR,KAAK,IAAI,EAAE;IAChC,IAAI,CAACA,KAAK,GAAG,IAAI,CAACA,KAAK,CACpBsO,GAAG,CAAC,UAAC3O,IAAI;MAAA,OAAAsI,aAAA,KAAWtI,IAAI;IAAA,CAAG,CAAC,CAAC;IAAA,CAC7B2O,GAAG,CAAC,UAAC3O,IAAI;MAAA,OAAKgE,KAAI,CAAC4R,oBAAoB,CAAC5V,IAAI,CAAC;IAAA,EAAC,CAC9C2O,GAAG,CAAC,UAAC3O,IAAI;MAAA,OAAKgE,KAAI,CAAC6R,oBAAoB,CAAC7V,IAAI,CAAC;IAAA,EAAwB;IAExE,IAAI8R,OAAO,CAACgE,cAAc,IAAI,IAAI,EAAE;MAClChE,OAAO,CAACgE,cAAc,GAAG,IAAI;IAC/B;IAEA,IAAIhE,OAAO,CAACgE,cAAc,KAAK,IAAI,EAAE;MACnC,IAAI,CAACC,YAAY,CAAC,IAAI,CAAC1V,KAAK,CAAC;IAC/B;IAEA,IAAI,CAACI,WAAW,GACdqR,OAAO,CAACrR,WAAW,IAAI,IAAI,GACvBqR,OAAO,CAACrR,WAAW,GAAA6H,aAAA,KACdwJ,OAAO,CAACrR,WAAW,CAAE;IAChC,IAAI,CAACA,WAAW,GAAG,IAAI,CAACmV,oBAAoB,CAAC,IAAI,CAACnV,WAAW,CAAC;IAC9D,IAAI,CAACA,WAAW,GAAG,IAAI,CAACoV,oBAAoB,CAAC,IAAI,CAACpV,WAAW,CAAC;IAE9D,IAAI,CAACC,wBAAwB,GAC3BoR,OAAO,CAACpR,wBAAwB,IAAIoR,OAAO,CAACkE,cAAc,IAAI,CAAC;IACjE,IAAI,CAACrV,0BAA0B,GAAGmR,OAAO,CAACnR,0BAA0B,IAAI,EAAE;IAC1E,IAAI,CAACE,UAAU,GACbiR,OAAO,CAACjR,UAAU,KAAKpD,SAAS,IAAIqU,OAAO,CAACjR,UAAU,IAAI,CAAC,GACvDiR,OAAO,CAACjR,UAAU,GAClB,IAAI,CAACR,KAAK,CAAC4B,MAAM,IAAI,IAAI,CAACxB,WAAW,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACjE,IAAI,CAACK,oBAAoB,GAAGgR,OAAO,CAAChR,oBAAoB,IAAI,GAAG;IAE/D,IAAI,CAACV,MAAM,GAAG0R,OAAO,CAAC1R,MAAM;IAC5B,IAAI,CAACW,sBAAsB,GAAG+Q,OAAO,CAAC/Q,sBAAsB,CAAC,CAAC;;IAE9D,IAAI,CAACkV,4BAA4B,GAC/BnE,OAAO,CAACmE,4BAA4B,IAAI,CAAC,CAAC,CAAC;IAC7C,IAAI,CAACC,wBAAwB,GAAGpE,OAAO,CAACoE,wBAAwB,IAAI,KAAK;IAEzE,IAAI,CAAC5S,YAAY,GAAGwO,OAAO,CAACxO,YAAY;IACxC,IAAI,CAACpC,MAAM,GAAG4Q,OAAO,CAAC5Q,MAAM,IAAIA,qCAAM;IACtC,IAAI,CAACiV,QAAQ,GAAGrE,OAAO,CAACqE,QAAQ,IAAI,MAAM;IAC1C,IAAI,CAACjV,MAAM,CAACkV,QAAQ,CAAC,IAAI,CAACD,QAAQ,CAAC;IAEnC,IAAI,CAAClV,iBAAiB,GAAG6Q,OAAO,CAAC7Q,iBAAiB;IAElD,IAAI,CAAC4G,SAAS,GAAGiK,OAAO,CAACjK,SAAS;IAClC,IAAI,CAACE,UAAU,GAAG+J,OAAO,CAAC/J,UAAU;IAEpC,IAAI,CAACC,gBAAgB,GAAG8J,OAAO,CAAC9J,gBAAgB;IAEhD,IAAI,CAACqO,uBAAuB,CAACvE,OAAO,CAAC;IACrC,IAAI,CAAC5M,QAAQ,CAAC,CAAC;EACjB;EAAC,OAAApK,8EAAA,CAAAuV,aAAA;IAAAtV,GAAA;IAAAC,KAAA,EAED,SAAAkK,QAAQA,CAAA,EAAY;MAClB,IAAI,IAAI,CAAC7E,KAAK,IAAI,IAAI,IAAI,IAAI,CAACA,KAAK,CAAC4B,MAAM,KAAK,CAAC,IAAI,IAAI,CAACqU,aAAa,CAAC,CAAC,EAAE;QACzE,MAAM,IAAIX,8DAAyB,CACjC,qEACF,CAAC;MACH;MAEA,IACE,IAAI,CAAClV,WAAW,IAAI,IAAI,IACxB,IAAI,CAAC8V,0BAA0B,CAAC,IAAI,CAAC9V,WAAW,CAAC,EACjD;QACA,MAAM,IAAIkV,8DAAyB,CACjC,oFACF,CAAC;MACH;MAEA,IAAI,IAAI,CAACvV,MAAM,IAAI,IAAI,EAAE;QACvB,MAAM,IAAIuV,8DAAyB,CAAC,2BAA2B,CAAC;MAClE;MAEA,OAAO,IAAI;IACb;EAAC;IAAA5a,GAAA;IAAAC,KAAA,EAED,SAAQsb,aAAaA,CAAA,EAAY;MAAA,IAAA5L,MAAA;MAC/B,OAAO,IAAI,CAACrK,KAAK,CAACmW,IAAI,CAAC,UAACxW,IAAI,EAAK;QAC/B,OAAO0K,MAAI,CAAC6L,0BAA0B,CAACvW,IAAI,CAAC;MAC9C,CAAC,CAAC;IACJ;EAAC;IAAAjF,GAAA;IAAAC,KAAA,EAED,SAAQub,0BAA0BA,CAChCvW,IAG4B,EACnB;MACT,OACE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAACyW,KAAK,CAAC,UAAC1b,GAAG,EAAK;QACnD,OAAOiF,IAAI,CAAC0W,cAAc,CAAC3b,GAAG,CAAC;MACjC,CAAC,CAAC,IAAIiF,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI;IAE7B;EAAC;IAAAjF,GAAA;IAAAC,KAAA,EAED,SAAQ4a,oBAAoBA,CAC1B5V,IAIa,EAKD;MACZ,IAAIA,IAAI,IAAI,IAAI,IAAI,CAACA,IAAI,CAAC0W,cAAc,CAAC,MAAM,CAAC,EAAE;QAChD1W,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;MACnB;MACA,OAAOA,IAAI;IACb;EAAC;IAAAjF,GAAA;IAAAC,KAAA,EAED,SAAQ6a,oBAAoBA,CAC1B7V,IAIa,EAKD;MACZ,IACEA,IAAI,IAAI,IAAI,IACZ,CAACA,IAAI,CAAC0W,cAAc,CAAC,MAAM,CAAC,IAC5B1W,IAAI,CAAC0W,cAAc,CAAC,UAAU,CAAC,EAC/B;QACA,QAAQ1W,IAAI,CAAC,UAAU,CAAC;UACtB,KAAK,OAAO;YACVA,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG;YAClB;UACF,KAAK,MAAM;YACTA,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB;QACJ;MACF;MACA,OAAOA,IAAI;IACb;EAAC;IAAAjF,GAAA;IAAAC,KAAA,EAED,SAAQqb,uBAAuBA,CAACvE,OAA6B,EAAQ;MACnE,IAAIA,OAAO,CAACkE,cAAc,EAAE;QAC1B,IAAI,CAAC9U,MAAM,CAACtC,IAAI,CACd,gFACF,CAAC;MACH;MACA,IAAIkT,OAAO,CAAC6E,UAAU,EAAE;QACtB,IAAI,CAACzV,MAAM,CAACtC,IAAI,CACd,oGACF,CAAC;MACH;MACA,IAAIkT,OAAO,CAAC8E,gBAAgB,EAAE;QAC5B,IAAI,CAAC1V,MAAM,CAACtC,IAAI,CACd,0GACF,CAAC;MACH;IACF;EAAC;IAAA7D,GAAA;IAAAC,KAAA,EAED,SAAQ+a,YAAYA,CAACc,KAAK,EAAE;MAC1B,KAAK,IAAI/H,CAAC,GAAG+H,KAAK,CAAC5U,MAAM,GAAG,CAAC,EAAE6M,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;QACzC,IAAMgI,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,IAAInI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,IAAAtN,IAAA,GACvB,CAACqV,KAAK,CAACC,CAAC,CAAC,EAAED,KAAK,CAAC/H,CAAC,CAAC,CAAC;QAA1C+H,KAAK,CAAC/H,CAAC,CAAC,GAAAtN,IAAA;QAAEqV,KAAK,CAACC,CAAC,CAAC,GAAAtV,IAAA;MACrB;IACF;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACzUyC;AAAA,IAiBvB6P,YAAY;EAC/B,SAAAA,aACU7T,EAAU,EACV5C,OAAgB,EACxB;IAAAC,iFAAA,OAAAwW,YAAA;IAAA,KAFQ7T,EAAU,GAAVA,EAAU;IAAA,KACV5C,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAuW,YAAA;IAAAtW,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAuB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACnE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAA6Z,OAAA,GAAA3Z,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SACE2B,MAAgC;QAAA,OAAA1C,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WAEzB,IAAI,CAACd,OAAO,CAAC+B,GAAG,CACrB,IAAI,CAACf,YAAY,CAAC,CAAC,EACnBiC,MACF,CAAC;YAAA;YAAA;cAAA,OAAA1B,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SAPK6Y,MAAMA,CAAAlY,EAAA;QAAA,OAAAgY,OAAA,CAAA9Y,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+Y,MAAM;IAAA;EAAA;IAAAha,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CASZ,SAAAiD,SAAA;QAAA,OAAAjD,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cAAA,OAAA8C,SAAA,CAAA7C,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAA2B,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA2C,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CAC1E;MAAA,SAFKhC,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAU+U,sDAAa,CAAC9U,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACiB,EAAE,CAAC;IACrE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC1CmD;AAAA,IAyBjC2Z,iBAAiB;EACpC,SAAAA,kBACU3Z,EAAU,EACV5C,OAAgB,EACxB;IAAAC,iFAAA,OAAAsc,iBAAA;IAAA,KAFQ3Z,EAAU,GAAVA,EAAU;IAAA,KACV5C,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAqc,iBAAA;IAAApc,GAAA;IAAAC,KAAA;MAAA,IAAA6Z,OAAA,GAAA3Z,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QACEwC,MAAqC;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE9B,IAAI,CAACd,OAAO,CAAC+B,GAAG,CACrB,IAAI,CAACf,YAAY,CAAC,CAAC,EACnBiC,MACF,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SAPK0Z,MAAMA,CAAAlY,EAAA;QAAA,OAAAgY,OAAA,CAAA9Y,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+Y,MAAM;IAAA;EAAA;IAAAha,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CASZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAA0B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAiD,SAAA;QAAA,OAAAjD,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cAAA,OAAA8C,SAAA,CAAA7C,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CACxB,IAAI,CAACR,YAAY,CAAC,CACpB,CAAC;YAAA;YAAA;cAAA,OAAA2C,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CACF;MAAA,SAJKhC,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAMZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAU6a,2DAAkB,CAAC5a,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACiB,EAAE,CAAC;IAC1E;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AC/CH,IAAMlB,YAAY,GAAG,uBAAuB;AAAC,IAExB4a,kBAAkB;EACrC,SAAAA,mBAA6Btc,OAAgB,EAAE;IAAAC,iFAAA,OAAAqc,kBAAA;IAAA,KAAlBtc,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAAC,OAAAE,8EAAA,CAAAoc,kBAAA;IAAAnc,GAAA;IAAAC,KAAA;MAAA,IAAA4C,OAAA,GAAA1C,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QACEwC,MAAqC;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE9B,IAAI,CAACd,OAAO,CAACkD,IAAI,CACtB,IAAI,CAAClC,YAAY,CAAC,CAAC,EACnBiC,MACF,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SAPK0C,MAAMA,CAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA7B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+B,MAAM;IAAA;EAAA;IAAAhD,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CASZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CACrB,IAAI,CAACC,YAAY,CAAC,CACpB,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SAJKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAMd,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,UAAA3B,MAAA,CAAU6a,kBAAkB,CAAC5a,YAAY,EAAAD,MAAA,CACvC2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IAEtE;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCmD;AACF;AAGpD,IAAMA,YAAY,GAAG,gBAAgB;AAAC,IAMjB8U,aAAa;EAOhC,SAAAA,cAA6BxW,OAAgB,EAAE;IAAAC,iFAAA,OAAAuW,aAAA;IAAAhU,iFAAA,uCAF3C,CAAC,CAAC;IAAA,KAEuBxC,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACwc,oBAAoB,GAAG,IAAIF,2DAAkB,CAAC,IAAI,CAACtc,OAAO,CAAC;EAClE;EAAC,OAAAE,8EAAA,CAAAsW,aAAA;IAAArW,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAA8BW,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAf,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACnE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAMd,SAAAqc,MAAMA,CAAC7Z,EAAW,EAA0C;MAC1D,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAAC2Z,oBAAoB;MAClC,CAAC,MAAM;QACL,IAAI,IAAI,CAACE,4BAA4B,CAAC9Z,EAAE,CAAC,KAAKC,SAAS,EAAE;UACvD,IAAI,CAAC6Z,4BAA4B,CAAC9Z,EAAE,CAAC,GAAG,IAAI2Z,0DAAiB,CAC3D3Z,EAAE,EACF,IAAI,CAAC5C,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC0c,4BAA4B,CAAC9Z,EAAE,CAAC;MAC9C;IACF;EAAC;IAAAzC,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5CuC;AAMQ;AACF;AAAA,IAE3BsV,WAAW;EAI9B,SAAAA,YACUjX,IAAY,EACZC,OAAgB,EACxB;IAAAC,iFAAA,OAAA+W,WAAA;IAAAxU,iFAAA,0BALyD,CAAC,CAAC;IAAA,KAGnDzC,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAgB,GAAhBA,OAAgB;IAExB,IAAI,CAAC6c,MAAM,GAAG,IAAIF,yDAAgB,CAAC,IAAI,CAAC5c,IAAI,EAAEC,OAAO,CAAC;EACxD;EAAC,OAAAE,8EAAA,CAAA8W,WAAA;IAAA7W,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QAAawC,MAA+B;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACnC,IAAI,CAACd,OAAO,CAAC+B,GAAG,CAAoB,IAAI,CAACf,YAAY,CAAC,CAAC,EAAEiC,MAAM,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACxE;MAAA,SAFKuB,MAAMA,CAAAC,EAAA;QAAA,OAAAJ,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAIZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAoB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAChE;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAiD,SAAA;QAAA,OAAAjD,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cAAA,OAAA8C,SAAA,CAAA7C,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CACxB,IAAI,CAACR,YAAY,CAAC,CACpB,CAAC;YAAA;YAAA;cAAA,OAAA2C,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CACF;MAAA,SAJKhC,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAQZ,SAAA0c,KAAKA,CAACC,MAAe,EAAsC;MACzD,IAAIA,MAAM,KAAKla,SAAS,EAAE;QACxB,OAAO,IAAI,CAACga,MAAM;MACpB,CAAC,MAAM;QACL,IAAI,IAAI,CAACG,eAAe,CAACD,MAAM,CAAC,KAAKla,SAAS,EAAE;UAC9C,IAAI,CAACma,eAAe,CAACD,MAAM,CAAC,GAAG,IAAIH,wDAAe,CAChD,IAAI,CAAC7c,IAAI,EACTgd,MAAM,EACN,IAAI,CAAC/c,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAACgd,eAAe,CAACD,MAAM,CAAC;MACrC;IACF;EAAC;IAAA5c,GAAA;IAAAC,KAAA,EAED,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUsV,qDAAY,CAACrV,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC5B,IAAI,CAAC;IACtE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDuC;AAAA,IASrB6c,eAAe;EAClC,SAAAA,gBACU7c,IAAY,EACZgd,MAAc,EACd/c,OAAgB,EACxB;IAAAC,iFAAA,OAAA2c,eAAA;IAAA,KAHQ7c,IAAY,GAAZA,IAAY;IAAA,KACZgd,MAAc,GAAdA,MAAc;IAAA,KACd/c,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAA0c,eAAA;IAAAzc,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAuB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACnE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SACE2B,MAAgC;QAAA,OAAA1C,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WAEzB,IAAI,CAACd,OAAO,CAAC+B,GAAG,CAAuB,IAAI,CAACf,YAAY,CAAC,CAAC,EAAEiC,MAAM,CAAC;YAAA;YAAA;cAAA,OAAA1B,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC3E;MAAA,SAJKU,MAAMA,CAAAC,EAAA;QAAA,OAAAJ,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAMZ,SAAAiD,SAAA;QAAA,OAAAjD,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cAAA,OAAA8C,SAAA,CAAA7C,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CACxB,IAAI,CAACR,YAAY,CAAC,CACpB,CAAC;YAAA;YAAA;cAAA,OAAA2C,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CACF;MAAA,SAJKhC,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAMZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUsV,qDAAY,CAACrV,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CACvD,IAAI,CAAC5B,IACP,CAAC,aAAA0B,MAAA,CAAUE,kBAAkB,CAAC,IAAI,CAACob,MAAM,CAAC;IAC5C;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCiE;AAAA,IAE/CJ,gBAAgB;EACnC,SAAAA,iBAAoB5c,IAAY,EAAUC,OAAgB,EAAE;IAAAC,iFAAA,OAAA0c,gBAAA;IAAA,KAAxC5c,IAAY,GAAZA,IAAY;IAAA,KAAUC,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAAyc,gBAAA;IAAAxc,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAE9D,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAyB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACrE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAId,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,UAAA3B,MAAA,CAAUsV,qDAAY,CAACrV,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC5B,IAAI,CAAC,YAAA0B,MAAA,CAClE2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IAEtE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IC8CkB2T,YAAY;EAC/B,SAAAA,aAAoB/W,OAAgB,EAAE;IAAAC,iFAAA,OAAA8W,YAAA;IAAA,KAAlB/W,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAA6W,YAAA;IAAA5W,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAGxC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CACrBgW,YAAY,CAACrV,YACf,CAAC;YAAA;YAAA;cAAA,OAAAf,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SAJKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;AAAA;AAAAsB,iFAAA,CAJKuU,YAAY,kBAEA,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;AC5DjD,IAAMrV,YAAY,GAAG,QAAQ;AAAC,IAOToU,KAAK;EACxB,SAAAA,MAAoB9V,OAAgB,EAAE;IAAAC,iFAAA,OAAA6V,KAAA;IAAA,KAAlB9V,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAA4V,KAAA;IAAA3V,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAsBW,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAf,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC3D;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXwB;AAKnB;AAC8B;AAO5C,IAAM2Y,QAAQ;EACnB,SAAAA,SACUd,cAAsB,EACtBwB,UAAkB,EAClBva,OAAgB,EACxB;IAAAC,iFAAA,OAAA4Z,QAAA;IAAA,KAHQd,cAAsB,GAAtBA,cAAsB;IAAA,KACtBwB,UAAkB,GAAlBA,UAAkB;IAAA,KAClBva,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAA2Z,QAAA;IAAA1Z,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAeyW,OAAqC;QAAA,IAAAgG,WAAA;QAAA,OAAA3c,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAC5Cqc,WAAW,GAAGD,gEAAwB,CAAC/F,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,CAAC,CAAC,CAAC;cAAA,OAAAvW,QAAA,CAAAG,MAAA,WAEpD,IAAI,CAACd,OAAO,CAACe,GAAG,CAAI,IAAI,CAACC,YAAY,CAAC,CAAC,EAAEkc,WAAW,CAAC;YAAA;YAAA;cAAA,OAAAvc,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC7D;MAAA,SAJKS,QAAQA,CAAAe,EAAA;QAAA,OAAA5B,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAMd,SAAAe,SAAa4V,OAAqB;QAAA,OAAA3W,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACzB,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAI,IAAI,CAACR,YAAY,CAAC,CAAC,EAAEkW,OAAO,CAAC;YAAA;YAAA;cAAA,OAAA3V,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC5D;MAAA,SAFKE,OAAMA,CAAAU,GAAA;QAAA,OAAAb,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA;MAAA,IAAA6Z,OAAA,GAAA3Z,mFAAA,cAAAC,sEAAA,CAIZ,SAAAiD,SACE2Z,eAA2B;QAAA,IAAAjG,OAAA;UAAApP,MAAA,GAAA1G,SAAA;QAAA,OAAAb,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cAC3BqW,OAAgC,GAAApP,MAAA,CAAAT,MAAA,QAAAS,MAAA,QAAAjF,SAAA,GAAAiF,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAnE,SAAA,CAAA7C,MAAA,WAE9B,IAAI,CAACd,OAAO,CAACuI,KAAK,CAAI,IAAI,CAACvH,YAAY,CAAC,CAAC,EAAEmc,eAAe,EAAEjG,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAvT,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CAC5E;MAAA,SALK2W,MAAMA,CAAA5W,GAAA;QAAA,OAAA0W,OAAA,CAAA9Y,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+Y,MAAM;IAAA;EAAA;IAAAha,GAAA;IAAAC,KAAA,EAOZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUiU,oDAAW,CAAChU,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACoX,cAAc,CAAC,EAAAtX,MAAA,CAAG+X,kDAAS,CAAC9X,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC4Y,UAAU,CAAC;IAC/I;EAAC;AAAA,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCsD;AACG;;AAO5D;;AA8GA;;AA8EA,IAAMtV,mBAAmB,GACvB,OAAOC,OAAO,KAAK,WAAW,IAC9BA,OAAO,CAACC,QAAQ,IAAI,IAAI,IACxBD,OAAO,CAACC,QAAQ,CAACC,IAAI,IAAI,IAAI;AAAC,IAEXoU,SAAS,0BAAA8D,oBAAA;EAI5B,SAAA9D,UACET,cAAsB,EACtB/Y,OAAgB,EAChBuF,aAA4B,EAC5B;IAAAtF,iFAAA,OAAAuZ,SAAA;IAAA,OAAA+D,UAAA,OAAA/D,SAAA,GACMT,cAAc,EAAE/Y,OAAO,EAAEuF,aAAa;EAC9C;EAACiY,2EAAA,CAAAhE,SAAA,EAAA8D,oBAAA;EAAA,OAAApd,8EAAA,CAAAsZ,SAAA;IAAArZ,GAAA;IAAAC,KAAA;MAAA,IAAA4C,OAAA,GAAA1C,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QACEgd,QAAW;QAAA,IAAAvG,OAAA;UAAA9P,KAAA,GAAAhG,SAAA;QAAA,OAAAb,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACXqW,OAAgD,GAAA9P,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAvE,SAAA,GAAAuE,KAAA,MAAG,CAAC,CAAC;cAAA,IAEhDqW,QAAQ;gBAAA9c,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIgL,KAAK,CAAC,sBAAsB,CAAC;YAAA;cAAA,OAAAlL,QAAA,CAAAG,MAAA,WAC/C,IAAI,CAACd,OAAO,CAACkD,IAAI,CAAI,IAAI,CAAClC,YAAY,CAAC,CAAC,EAAEyc,QAAQ,EAAEvG,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAvW,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACpE;MAAA,SANK0C,MAAMA,CAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA7B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+B,MAAM;IAAA;EAAA;IAAAhD,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAQZ,SAAAe,SAAamc,QAAW;QAAA,IAAAvG,OAAA;UAAA3P,MAAA,GAAAnG,SAAA;QAAA,OAAAb,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAEqW,OAAgD,GAAA3P,MAAA,CAAAF,MAAA,QAAAE,MAAA,QAAA1E,SAAA,GAAA0E,MAAA,MAAG,CAAC,CAAC;cAAA,IACxEkW,QAAQ;gBAAAlc,SAAA,CAAAV,IAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIgL,KAAK,CAAC,sBAAsB,CAAC;YAAA;cAAA,OAAAtK,SAAA,CAAAT,MAAA,WAC/C,IAAI,CAACd,OAAO,CAACkD,IAAI,CACtB,IAAI,CAAClC,YAAY,CAAC,CAAC,EACnByc,QAAQ,EACRvR,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE+K,OAAO,EAAE;gBAAEwG,MAAM,EAAE;cAAS,CAAC,CACjD,CAAC;YAAA;YAAA;cAAA,OAAAnc,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SAPKU,MAAMA,CAAAE,GAAA;QAAA,OAAAL,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAA6Z,OAAA,GAAA3Z,mFAAA,cAAAC,sEAAA,CAcZ,SAAAiD,SACEia,QAAW;QAAA,IAAAvG,OAAA;UAAApP,MAAA,GAAA1G,SAAA;QAAA,OAAAb,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cACXqW,OAA2E,GAAApP,MAAA,CAAAT,MAAA,QAAAS,MAAA,QAAAjF,SAAA,GAAAiF,MAAA,MAAG,CAAC,CAAC;cAAA,IAE3E2V,QAAQ;gBAAA9Z,SAAA,CAAA9C,IAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIgL,KAAK,CAAC,sBAAsB,CAAC;YAAA;cAAA,MAElDqL,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI;gBAAAvT,SAAA,CAAA9C,IAAA;gBAAA;cAAA;cAAA,OAAA8C,SAAA,CAAA7C,MAAA,WACvB,IAAI,CAACd,OAAO,CAACuI,KAAK,CACvB,IAAI,CAACvH,YAAY,CAAC,CAAC,EACnByc,QAAQ,EACRvR,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE+K,OAAO,CAC3B,CAAC;YAAA;cAAA,OAAAvT,SAAA,CAAA7C,MAAA,WAEM,IAAI,CAACd,OAAO,CAACkD,IAAI,CACtB,IAAI,CAAClC,YAAY,CAAC,CAAC,EACnByc,QAAQ,EACRvR,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE+K,OAAO,EAAE;gBAAEwG,MAAM,EAAE;cAAS,CAAC,CACjD,CAAC;YAAA;YAAA;cAAA,OAAA/Z,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CAEJ;MAAA,SAnBK2W,MAAMA,CAAA5W,GAAA;QAAA,OAAA0W,OAAA,CAAA9Y,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+Y,MAAM;IAAA;EAAA;IAAAha,GAAA;IAAAC,KAAA;MAAA,IAAAud,QAAA,GAAArd,mFAAA,cAAAC,sEAAA,CA6BZ,SAAAyH,SACEyV,QAAW;QAAA,IAAAvG,OAAA;UAAAjP,MAAA,GAAA7G,SAAA;QAAA,OAAAb,sEAAA,WAAA2H,SAAA;UAAA,kBAAAA,SAAA,CAAAtH,IAAA,GAAAsH,SAAA,CAAArH,IAAA;YAAA;cACXqW,OAA2E,GAAAjP,MAAA,CAAAZ,MAAA,QAAAY,MAAA,QAAApF,SAAA,GAAAoF,MAAA,MAAG,CAAC,CAAC;cAAA,IAE3EwV,QAAQ;gBAAAvV,SAAA,CAAArH,IAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIgL,KAAK,CAAC,sBAAsB,CAAC;YAAA;cAAA,MAElDqL,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI;gBAAAhP,SAAA,CAAArH,IAAA;gBAAA;cAAA;cAAA,OAAAqH,SAAA,CAAApH,MAAA,WACvB,IAAI,CAACd,OAAO,CAACuI,KAAK,CACvB,IAAI,CAACvH,YAAY,CAAC,CAAC,EACnByc,QAAQ,EACRvR,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE+K,OAAO,CAC3B,CAAC;YAAA;cAAA,OAAAhP,SAAA,CAAApH,MAAA,WAEM,IAAI,CAACd,OAAO,CAACkD,IAAI,CACtB,IAAI,CAAClC,YAAY,CAAC,CAAC,EACnByc,QAAQ,EACRvR,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE+K,OAAO,EAAE;gBAAEwG,MAAM,EAAE;cAAU,CAAC,CAClD,CAAC;YAAA;YAAA;cAAA,OAAAxV,SAAA,CAAAjH,IAAA;UAAA;QAAA,GAAA+G,QAAA;MAAA,CAEJ;MAAA,SAnBK4V,OAAOA,CAAAha,GAAA;QAAA,OAAA+Z,QAAA,CAAAxc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAPwc,OAAO;IAAA;EAAA;IAAAzd,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAqBb,SAAA6H,SAAA;QAAA,IAAA1E,KAAA;UAAA2E,MAAA,GAAAjH,SAAA;QAAA,OAAAb,sEAAA,WAAA+H,SAAA;UAAA,kBAAAA,SAAA,CAAA1H,IAAA,GAAA0H,SAAA,CAAAzH,IAAA;YAAA;cACE6C,KAAkB,GAAA2E,MAAA,CAAAhB,MAAA,QAAAgB,MAAA,QAAAxF,SAAA,GAAAwF,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAC,SAAA,CAAAxH,MAAA,WAEhB,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAoB,IAAI,CAACR,YAAY,CAAC,CAAC,EAAE0C,KAAK,CAAC;YAAA;YAAA;cAAA,OAAA4E,SAAA,CAAArH,IAAA;UAAA;QAAA,GAAAmH,QAAA;MAAA,CAC1E;MAAA,SAJK5G,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA;MAAA,IAAAyd,WAAA,GAAAvd,mFAAA,cAAAC,sEAAA,CAMZ,SAAA0I,SAAiBqR,SAAc;QAAA,IAAApD,OAAA;UAAA4G,MAAA,GAAA1c,SAAA;QAAA,OAAAb,sEAAA,WAAA+K,SAAA;UAAA,kBAAAA,SAAA,CAAA1K,IAAA,GAAA0K,SAAA,CAAAzK,IAAA;YAAA;cAAEqW,OAAiC,GAAA4G,MAAA,CAAAzW,MAAA,QAAAyW,MAAA,QAAAjb,SAAA,GAAAib,MAAA,MAAG,CAAC,CAAC;cACrE,IAAI,CAACvY,aAAa,CAACe,MAAM,CAACtC,IAAI,CAC5B,iKACF,CAAC;cAAC,OAAAsH,SAAA,CAAAxK,MAAA,WACK,IAAI,CAACid,MAAM,CAACzD,SAAS,EAAEpD,OAAO,CAAC;YAAA;YAAA;cAAA,OAAA5L,SAAA,CAAArK,IAAA;UAAA;QAAA,GAAAgI,QAAA;MAAA,CACvC;MAAA,SALK+U,UAAUA,CAAAxV,GAAA;QAAA,OAAAqV,WAAA,CAAA1c,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAV4c,UAAU;IAAA;IAOhB;AACF;AACA;AACA;AACA;AACA;EALE;IAAA7d,GAAA;IAAAC,KAAA;MAAA,IAAA6d,QAAA,GAAA3d,mFAAA,cAAAC,sEAAA,CAcA,SAAAgP,SACE+K,SAAuB;QAAA,IAAApD,OAAA;UAAAgH,YAAA;UAAAC,sBAAA;UAAAC,oBAAA;UAAAC,mBAAA;UAAAC,WAAA;UAAAC,MAAA,GAAAnd,SAAA;UAAAiK,EAAA;QAAA,OAAA9K,sEAAA,WAAA8J,SAAA;UAAA,kBAAAA,SAAA,CAAAzJ,IAAA,GAAAyJ,SAAA,CAAAxJ,IAAA;YAAA;cACvBqW,OAAiC,GAAAqH,MAAA,CAAAlX,MAAA,QAAAkX,MAAA,QAAA1b,SAAA,GAAA0b,MAAA,MAAG,CAAC,CAAC;cAEtC;cACML,YAAY,GAAAxQ,aAAA;gBAAK8Q,WAAW,EAAE;cAAI,GAAKtH,OAAO;cAAA,KAEhDuH,KAAK,CAACC,OAAO,CAACpE,SAAS,CAAC;gBAAAjQ,SAAA,CAAAxJ,IAAA;gBAAA;cAAA;cAAA,MACtByZ,SAAS,CAACjT,MAAM,KAAK,CAAC;gBAAAgD,SAAA,CAAAxJ,IAAA;gBAAA;cAAA;cAAA,MAClB,IAAI4D,qDAAgB,CAAC,uBAAuB,CAAC;YAAA;cAAA4F,SAAA,CAAAzJ,IAAA;cAGnDud,sBAAsB,GAAG7D,SAAS,CAC/BvG,GAAG,CAAC,UAAC0J,QAAQ;gBAAA,OAAK/X,IAAI,CAACE,SAAS,CAAC6X,QAAQ,CAAC;cAAA,EAAC,CAC3CzJ,IAAI,CAAC,IAAI,CAAC;cAAC3J,SAAA,CAAAxJ,IAAA;cAAA;YAAA;cAAAwJ,SAAA,CAAAzJ,IAAA;cAAAyK,EAAA,GAAAhB,SAAA;cAAA,MAIZgB,EAAA,YAAiBsT,UAAU,IAC3BtT,EAAA,CAAM4C,OAAO,CAAC2Q,QAAQ,CAAC,kCAAkC,CAAC;gBAAAvU,SAAA,CAAAxJ,IAAA;gBAAA;cAAA;cAAA,MAEpD,IAAIgL,KAAK,IAAApK,MAAA,CAAA4J,EAAA,mVAId,CAAC;YAAA;cAAA,MAIE,IAAIQ,KAAK,CAAAR,EAAM,CAAC;YAAA;cAAAhB,SAAA,CAAAxJ,IAAA;cAAA;YAAA;cAGxBsd,sBAAsB,GAAG7D,SAAS;cAAC,KAC/BuE,aAAa,CAACV,sBAAsB,CAAC;gBAAA9T,SAAA,CAAAxJ,IAAA;gBAAA;cAAA;cAAA,MACjC,IAAI4D,qDAAgB,CAAC,uBAAuB,CAAC;YAAA;cAAA4F,SAAA,CAAAxJ,IAAA;cAAA,OAIpB,IAAI,CAACb,OAAO,CAACsH,cAAc,CAC5D,MAAM,EACN,IAAI,CAACtG,YAAY,CAAC,QAAQ,CAAC,EAC3B;gBACE2F,eAAe,EAAEuX,YAAY;gBAC7BzW,cAAc,EAAE0W,sBAAsB;gBACtC9X,iBAAiB,EAAE;kBAAE,cAAc,EAAE;gBAAa,CAAC;gBACnDsD,qBAAqB,EAAE,IAAI;gBAAE;gBAC7BE,eAAe,EAAE5E,mBAAmB,GAAG,IAAI,GAAG,KAAK,CAAE;cACvD,CACF,CAAC;YAAA;cAVKmZ,oBAAoB,GAAA/T,SAAA,CAAAuD,IAAA;cAAA,KAYtB6Q,KAAK,CAACC,OAAO,CAACpE,SAAS,CAAC;gBAAAjQ,SAAA,CAAAxJ,IAAA;gBAAA;cAAA;cACpBwd,mBAAmB,GAAGD,oBAAoB,CAC7C7N,KAAK,CAAC,IAAI,CAAC,CACXwD,GAAG,CAAC,UAAC+K,CAAC;gBAAA,OAAKpZ,IAAI,CAACC,KAAK,CAACmZ,CAAC,CAAC;cAAA,EAAC;cACtBR,WAAW,GAAGD,mBAAmB,CAAC5K,MAAM,CAC5C,UAACqL,CAAC;gBAAA,OAAKA,CAAC,CAACC,OAAO,KAAK,KAAK;cAAA,CAC5B,CAAC;cAAA,MACGT,WAAW,CAACjX,MAAM,GAAG,CAAC,IAAI6W,YAAY,CAACM,WAAW;gBAAAnU,SAAA,CAAAxJ,IAAA;gBAAA;cAAA;cAAA,MAC9C,IAAIuc,gDAAW,IAAA3b,MAAA,CAEjB4c,mBAAmB,CAAChX,MAAM,GAAGiX,WAAW,CAACjX,MAAM,wCAAA5F,MAAA,CAE/C6c,WAAW,CAACjX,MAAM,6IAEpBgX,mBAAmB,EACnB;gBACEF,sBAAsB,EAAtBA,sBAAsB;gBACtBjH,OAAO,EAAEgH,YAAY;gBACrBI,WAAW,EAAXA,WAAW;gBACXU,YAAY,EAAEX,mBAAmB,CAAChX,MAAM,GAAGiX,WAAW,CAACjX;cACzD,CACF,CAAC;YAAA;cAAA,OAAAgD,SAAA,CAAAvJ,MAAA,WAEMud,mBAAmB;YAAA;cAAAhU,SAAA,CAAAxJ,IAAA;cAAA;YAAA;cAAA,OAAAwJ,SAAA,CAAAvJ,MAAA,WAGrBsd,oBAAoB;YAAA;YAAA;cAAA,OAAA/T,SAAA,CAAApJ,IAAA;UAAA;QAAA,GAAAsO,QAAA;MAAA,CAE9B;MAAA,SA9EKwO,OAAMA,CAAAtP,GAAA;QAAA,OAAAwP,QAAA,CAAA9c,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN2c,OAAM;IAAA;IA+EZ;AACF;AACA;EAFE;IAAA5d,GAAA;IAAAC,KAAA;MAAA,IAAA6e,aAAA,GAAA3e,mFAAA,cAAAC,sEAAA,CAGA,SAAAuQ,SACEoO,cAA0B;QAAA,IAAAhI,OAAA;UAAAgH,YAAA;UAAAE,oBAAA;UAAAC,mBAAA;UAAAC,WAAA;UAAAa,MAAA,GAAA/d,SAAA;QAAA,OAAAb,sEAAA,WAAAiP,SAAA;UAAA,kBAAAA,SAAA,CAAA5O,IAAA,GAAA4O,SAAA,CAAA3O,IAAA;YAAA;cAC1BqW,OAAiC,GAAAiI,MAAA,CAAA9X,MAAA,QAAA8X,MAAA,QAAAtc,SAAA,GAAAsc,MAAA,MAAG,CAAC,CAAC;cAEhCjB,YAAY,GAAAxQ,aAAA;gBAAK8Q,WAAW,EAAE;cAAI,GAAKtH,OAAO;cAAA1H,SAAA,CAAA3O,IAAA;cAAA,OAEjB,IAAI,CAACb,OAAO,CAACsH,cAAc,CAC5D,MAAM,EACN,IAAI,CAACtG,YAAY,CAAC,QAAQ,CAAC,EAC3B;gBACE2F,eAAe,EAAEuX,YAAY;gBAC7BzW,cAAc,EAAEyX,cAAc;gBAC9B7Y,iBAAiB,EAAE;kBAAE,cAAc,EAAE;gBAAa,CAAC;gBACnDsD,qBAAqB,EAAE,IAAI;gBAAE;gBAC7BE,eAAe,EAAE5E,mBAAmB,GAAG,IAAI,GAAG,KAAK,CAAE;cACvD,CACF,CAAC;YAAA;cAVKmZ,oBAAoB,GAAA5O,SAAA,CAAA5B,IAAA;cAYpByQ,mBAAmB,GAAGD,oBAAoB,CAC7C7N,KAAK,CAAC,IAAI,CAAC,CACXwD,GAAG,CAAC,UAAC+K,CAAC;gBAAA,OAAKpZ,IAAI,CAACC,KAAK,CAACmZ,CAAC,CAAC;cAAA,EAAC;cACtBR,WAAW,GAAGD,mBAAmB,CAAC5K,MAAM,CAAC,UAACqL,CAAC;gBAAA,OAAKA,CAAC,CAACC,OAAO,KAAK,KAAK;cAAA,EAAC;cAAA,MACtET,WAAW,CAACjX,MAAM,GAAG,CAAC,IAAI6W,YAAY,CAACM,WAAW;gBAAAhP,SAAA,CAAA3O,IAAA;gBAAA;cAAA;cAAA,MAC9C,IAAIuc,gDAAW,IAAA3b,MAAA,CAEjB4c,mBAAmB,CAAChX,MAAM,GAAGiX,WAAW,CAACjX,MAAM,wCAAA5F,MAAA,CAE/C6c,WAAW,CAACjX,MAAM,6IAEpBgX,mBAAmB,EACnB;gBACEF,sBAAsB,EAAEe,cAAc;gBACtChI,OAAO,EAAEgH,YAAY;gBACrBI,WAAW,EAAXA,WAAW;gBACXU,YAAY,EAAEX,mBAAmB,CAAChX,MAAM,GAAGiX,WAAW,CAACjX;cACzD,CACF,CAAC;YAAA;cAAA,OAAAmI,SAAA,CAAA1O,MAAA,WAEMud,mBAAmB;YAAA;YAAA;cAAA,OAAA7O,SAAA,CAAAvO,IAAA;UAAA;QAAA,GAAA6P,QAAA;MAAA,CAE7B;MAAA,SAxCKsO,YAAYA,CAAA1Q,GAAA;QAAA,OAAAuQ,aAAA,CAAA9d,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAZge,YAAY;IAAA;IA0ClB;AACF;AACA;IAFE;EAAA;IAAAjf,GAAA;IAAAC,KAAA;MAAA,IAAAif,QAAA,GAAA/e,mFAAA,cAAAC,sEAAA,CAGA,SAAAgR,SAAA;QAAA,IAAA2F,OAAA;UAAAoI,MAAA,GAAAle,SAAA;QAAA,OAAAb,sEAAA,WAAAyQ,SAAA;UAAA,kBAAAA,SAAA,CAAApQ,IAAA,GAAAoQ,SAAA,CAAAnQ,IAAA;YAAA;cAAaqW,OAAkC,GAAAoI,MAAA,CAAAjY,MAAA,QAAAiY,MAAA,QAAAzc,SAAA,GAAAyc,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAtO,SAAA,CAAAlQ,MAAA,WAC3C,IAAI,CAACd,OAAO,CAACe,GAAG,CAAS,IAAI,CAACC,YAAY,CAAC,QAAQ,CAAC,EAAEkW,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAlG,SAAA,CAAA/P,IAAA;UAAA;QAAA,GAAAsQ,QAAA;MAAA,CACtE;MAAA,SAFKgO,OAAMA,CAAA;QAAA,OAAAF,QAAA,CAAAle,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANme,OAAM;IAAA;IAIZ;AACF;AACA;IAFE;EAAA;IAAApf,GAAA;IAAAC,KAAA;MAAA,IAAAof,aAAA,GAAAlf,mFAAA,cAAAC,sEAAA,CAGA,SAAAqU,SAAA;QAAA,IAAAsC,OAAA;UAAAuI,MAAA,GAAAre,SAAA;QAAA,OAAAb,sEAAA,WAAAsR,SAAA;UAAA,kBAAAA,SAAA,CAAAjR,IAAA,GAAAiR,SAAA,CAAAhR,IAAA;YAAA;cACEqW,OAAkC,GAAAuI,MAAA,CAAApY,MAAA,QAAAoY,MAAA,QAAA5c,SAAA,GAAA4c,MAAA,MAAG,CAAC,CAAC;cAAA,OAAA5N,SAAA,CAAA/Q,MAAA,WAEhC,IAAI,CAACd,OAAO,CAACe,GAAG,CAAa,IAAI,CAACC,YAAY,CAAC,QAAQ,CAAC,EAAEkW,OAAO,EAAE;gBACxElQ,YAAY,EAAE;cAChB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA6K,SAAA,CAAA5Q,IAAA;UAAA;QAAA,GAAA2T,QAAA;MAAA,CACH;MAAA,SANK8K,YAAYA,CAAA;QAAA,OAAAF,aAAA,CAAAre,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAZse,YAAY;IAAA;EAAA;AAAA,EApPVrC,qEAAmB;AADC;AA8P9B,SAASwB,aAAaA,CAACc,GAA8B,EAAW;EAC9D,OAAOA,GAAG,IAAI,IAAI,IAAIA,GAAG,KAAK,EAAE,IAAIA,GAAG,CAACtY,MAAM,KAAK,CAAC;AACtD;;AAEA;AACA;AACA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChd8C;AAAA,IAEzBhD,SAAS,0BAAAub,eAAA;EAAA,SAAAvb,UAAA;IAAApE,iFAAA,OAAAoE,SAAA;IAAA,OAAAkZ,UAAA,OAAAlZ,SAAA,EAAAjD,SAAA;EAAA;EAAAoc,2EAAA,CAAAnZ,SAAA,EAAAub,eAAA;EAAA,OAAA1f,8EAAA,CAAAmE,SAAA;AAAA,EAASO,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFP;AAAA,IAWzBwY,WAAW,0BAAAwC,eAAA;EAG9B,SAAAxC,YACEnP,OAAe,EACf4R,aAA+B,EAC/BC,OAA2B,EAC3B;IAAA,IAAA1W,KAAA;IAAAnJ,iFAAA,OAAAmd,WAAA;IACAhU,KAAA,GAAAmU,UAAA,OAAAH,WAAA,GAAMnP,OAAO;IACb7E,KAAA,CAAKyW,aAAa,GAAGA,aAAa;IAClCzW,KAAA,CAAK0W,OAAO,GAAGA,OAAO;IAAC,OAAA1W,KAAA;EACzB;EAACoU,2EAAA,CAAAJ,WAAA,EAAAwC,eAAA;EAAA,OAAA1f,8EAAA,CAAAkd,WAAA;AAAA,EAXsCxY,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXT;AAAA,IAEzBmW,yBAAyB,0BAAA6E,eAAA;EAAA,SAAA7E,0BAAA;IAAA9a,iFAAA,OAAA8a,yBAAA;IAAA,OAAAwC,UAAA,OAAAxC,yBAAA,EAAA3Z,SAAA;EAAA;EAAAoc,2EAAA,CAAAzC,yBAAA,EAAA6E,eAAA;EAAA,OAAA1f,8EAAA,CAAA6a,yBAAA;AAAA,EAASnW,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFvB;AAAA,IAEzBN,mBAAmB,0BAAAsb,eAAA;EAAA,SAAAtb,oBAAA;IAAArE,iFAAA,OAAAqE,mBAAA;IAAA,OAAAiZ,UAAA,OAAAjZ,mBAAA,EAAAlD,SAAA;EAAA;EAAAoc,2EAAA,CAAAlZ,mBAAA,EAAAsb,eAAA;EAAA,OAAA1f,8EAAA,CAAAoE,mBAAA;AAAA,EAASM,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFjB;AAAA,IAEzBL,cAAc,0BAAAqb,eAAA;EAAA,SAAArb,eAAA;IAAAtE,iFAAA,OAAAsE,cAAA;IAAA,OAAAgZ,UAAA,OAAAhZ,cAAA,EAAAnD,SAAA;EAAA;EAAAoc,2EAAA,CAAAjZ,cAAA,EAAAqb,eAAA;EAAA,OAAA1f,8EAAA,CAAAqE,cAAA;AAAA,EAASK,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFZ;AAAA,IAEzBJ,mBAAmB,0BAAAob,eAAA;EAAA,SAAApb,oBAAA;IAAAvE,iFAAA,OAAAuE,mBAAA;IAAA,OAAA+Y,UAAA,OAAA/Y,mBAAA,EAAApD,SAAA;EAAA;EAAAoc,2EAAA,CAAAhZ,mBAAA,EAAAob,eAAA;EAAA,OAAA1f,8EAAA,CAAAsE,mBAAA;AAAA,EAASI,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFjB;AAAA,IAEzBH,gBAAgB,0BAAAmb,eAAA;EAAA,SAAAnb,iBAAA;IAAAxE,iFAAA,OAAAwE,gBAAA;IAAA,OAAA8Y,UAAA,OAAA9Y,gBAAA,EAAArD,SAAA;EAAA;EAAAoc,2EAAA,CAAA/Y,gBAAA,EAAAmb,eAAA;EAAA,OAAA1f,8EAAA,CAAAuE,gBAAA;AAAA,EAASG,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFd;AAAA,IAEzBF,mBAAmB,0BAAAkb,eAAA;EAAA,SAAAlb,oBAAA;IAAAzE,iFAAA,OAAAyE,mBAAA;IAAA,OAAA6Y,UAAA,OAAA7Y,mBAAA,EAAAtD,SAAA;EAAA;EAAAoc,2EAAA,CAAA9Y,mBAAA,EAAAkb,eAAA;EAAA,OAAA1f,8EAAA,CAAAwE,mBAAA;AAAA,EAASE,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFjB;AAAA,IAEzBD,WAAW,0BAAAib,eAAA;EAAA,SAAAjb,YAAA;IAAA1E,iFAAA,OAAA0E,WAAA;IAAA,OAAA4Y,UAAA,OAAA5Y,WAAA,EAAAvD,SAAA;EAAA;EAAAoc,2EAAA,CAAA7Y,WAAA,EAAAib,eAAA;EAAA,OAAA1f,8EAAA,CAAAyE,WAAA;AAAA,EAASC,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFlCA,cAAc,0BAAAmb,MAAA;EAIjC;EACA,SAAAnb,eAAYqJ,OAAgB,EAAEiH,QAAiB,EAAE8K,UAAmB,EAAE;IAAA,IAAA5W,KAAA;IAAAnJ,iFAAA,OAAA2E,cAAA;IACpEwE,KAAA,GAAAmU,UAAA,OAAA3Y,cAAA,GAAMqJ,OAAO;IACb7E,KAAA,CAAKrJ,IAAI,GAAG,iBAAA6E,cAAA,QAAAqb,WAAA,WAAWlgB,IAAI;IAC3BqJ,KAAA,CAAK8L,QAAQ,GAAGA,QAAQ;IACxB9L,KAAA,CAAK4W,UAAU,GAAGA,UAAU;IAC5B9T,MAAM,CAACgU,cAAc,CAAA9W,KAAA,EAAO,iBAAAxE,cAAA,QAAAqb,WAAA,WAAWE,SAAS,CAAC;IAAC,OAAA/W,KAAA;EACpD;EAACoU,2EAAA,CAAA5Y,cAAA,EAAAmb,MAAA;EAAA,OAAA7f,8EAAA,CAAA0E,cAAA;AAAA,eAAAwb,kFAAA,CAXyCvU,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAb;AACgC;AACZ;AACV;AACU;AACN;AACM;AAChB;AACA;AACM;;;;;;;;;;;;;;;;;;;;;;;;;ACP9C,IAAMnK,YAAY,GAAG,SAAS;AAAC,IAMVuU,MAAM;EACzB,SAAAA,OAAoBjW,OAAgB,EAAE;IAAAC,iFAAA,OAAAgW,MAAA;IAAA,KAAlBjW,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAA+V,MAAA;IAAA9V,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAiBW,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAf,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACtD;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACVU;AAAA,IAsDL2U,GAAG;EACtB,SAAAA,IACUjT,EAAU,EACV5C,OAAgB,EACxB;IAAAC,iFAAA,OAAA4V,GAAA;IAAA,KAFQjT,EAAU,GAAVA,EAAU;IAAA,KACV5C,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAA2V,GAAA;IAAA1V,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAY,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACxD;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAkB,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACjE;MAAA,SAFKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUmU,6CAAI,CAAClU,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACiB,EAAE,CAAC;IAC5D;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvEiC;AAIe;AAEnD,IAAMlB,YAAY,GAAG,OAAO;AAAC,IAeRkU,IAAI;EACvB,SAAAA,KAAoB5V,OAAgB,EAAE;IAAAC,iFAAA,OAAA2V,IAAA;IAAA,KAAlB5V,OAAgB,GAAhBA,OAAgB;IAClC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAAC,OAAAE,8EAAA,CAAA0V,IAAA;IAAAzV,GAAA;IAAAC,KAAA;MAAA,IAAA4C,OAAA,GAAA1C,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QAAawC,MAAuB;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAC3B,IAAI,CAACd,OAAO,CAACkD,IAAI,CAAY0S,IAAI,CAAClU,YAAY,EAAEuB,MAAM,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC/D;MAAA,SAFK0C,MAAMA,CAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA7B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+B,MAAM;IAAA;EAAA;IAAAhD,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAIZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAqBW,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAH,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC1D;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAId,SAAAkgB,uBAAuBA,CACrBC,SAAiB,EACjBC,UAAmD,EAC3C;MACR;MACA;MACA,IAAMC,gBAAgB,GAAGxD,gEAAwB,CAI/CuD,UAAU,CAAC;MACb,IAAME,UAAU,GAAGhb,IAAI,CAACE,SAAS,CAAC6a,gBAAgB,CAAC;MACnD,IAAME,MAAM,GAAGC,MAAM,CAACC,IAAI,CACxBR,kDAAU,CAAC,QAAQ,EAAEE,SAAS,CAAC,CAACpG,MAAM,CAACuG,UAAU,CAAC,CAACC,MAAM,CAAC,QAAQ,CACpE,CAAC;MACD,IAAMG,SAAS,GAAGP,SAAS,CAACQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;MACxC,IAAMC,YAAY,MAAAvf,MAAA,CAAMkf,MAAM,EAAAlf,MAAA,CAAGqf,SAAS,EAAArf,MAAA,CAAGif,UAAU,CAAE;MAEzD,OAAOE,MAAM,CAACC,IAAI,CAACG,YAAY,CAAC,CAAC3Q,QAAQ,CAAC,QAAQ,CAAC;IACrD;EAAC;IAAAlQ,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACvDH,IAAMA,YAAY,GAAG,eAAe;AAAC,IAsBhBqU,OAAO;EAC1B,SAAAA,QAAoB/V,OAAgB,EAAE;IAAAC,iFAAA,OAAA8V,OAAA;IAAA,KAAlB/V,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAA6V,OAAA;IAAA5V,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAACW,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAf,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACtC;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBkC;AAQC;AAYnD,IAAMQ,YAAY,GAAG,eAAe;AAAC,IAEhByU,WAAW;EAI9B,SAAAA,YACUnW,OAAgB,EAChBuF,aAA4B,EAEpC;IAAA,IADQ2b,kBAA2B,GAAA9f,SAAA,CAAAiG,MAAA,QAAAjG,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,KAAK;IAAAnB,iFAAA,OAAAkW,WAAA;IAAA,KAFnCnW,OAAgB,GAAhBA,OAAgB;IAAA,KAChBuF,aAA4B,GAA5BA,aAA4B;IAAA,KAC5B2b,kBAA2B,GAA3BA,kBAA2B;IAEnC,IAAI,CAACC,gBAAgB,GAAG,IAAIF,yDAAgB,CAAC,CAAC;IAC9C,IAAI,CAAC3a,MAAM,GAAG,IAAI,CAACtG,OAAO,CAACsG,MAAM;EACnC;EAAC,OAAApG,8EAAA,CAAAiW,WAAA;IAAAhW,GAAA;IAAAC,KAAA,EAED,SAAAghB,UAAUA,CAAA,EAAG;MACX,IAAI,CAACD,gBAAgB,CAACC,UAAU,CAAC,CAAC;IACpC;EAAC;IAAAjhB,GAAA;IAAAC,KAAA;MAAA,IAAAihB,QAAA,GAAA/gB,mFAAA,cAAAC,sEAAA,CAwBD,SAAAE,QAIE6gB,cAA2D,EAC3DC,YAE0C,EAC1CrK,OAAuB;QAAA,IAAAsK,qBAAA;QAAA,IAAAve,MAAA,EAAAoY,4BAAA,EAAAoG,wBAAA,EAAAva,YAAA,EAAAwa,mBAAA,EAAAC,qBAAA;QAAA,OAAAphB,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAEjBoC,MAAM,GAAGse,YAAY,GAAA7T,aAAA,KAAQ6T,YAAY,IAAK,CAAC,CAAC;cAChDlG,4BAA4B,IAAAmG,qBAAA,GAChCtK,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEmE,4BAA4B,cAAAmG,qBAAA,cAAAA,qBAAA,GACrC,IAAI,CAACjc,aAAa,CAAC8V,4BAA4B;cAEjD,IAAI,IAAI,CAAC9V,aAAa,CAAC+V,wBAAwB,KAAK,IAAI,EAAE;gBACxDrY,MAAM,CAAC2e,SAAS,GAAG,IAAI;cACzB;cAEA,IAAIN,cAAc,CAACO,KAAK,KAAK,IAAI,IAAI,IAAI,CAACC,4BAA4B,CAACR,cAAc,CAAC,EAAE;gBACtF,IAAI,CAAChb,MAAM,CAACtC,IAAI,CACd,mNACF,CAAC;cACH;cAEMyd,wBAGL,GAAG;gBACFI,KAAK,EAAEP,cAAc,CAACO,KAAK;gBAC3BE,iBAAiB,EACf,mBAAmB,IAAIT,cAAc,GACjCA,cAAc,CAACS,iBAAiB,GAChClf,SAAS;gBACfmf,QAAQ,EAAEV,cAAc,CAACU,QAAQ,CAACjO,GAAG,CACnCkJ,4DAKF;cACF,CAAC;cAEO/V,YAAY,GAA6BjE,MAAM,CAA/CiE,YAAY,EAAKwa,mBAAmB,GAAAO,0FAAA,CAAKhf,MAAM,EAAAif,SAAA;cACjDP,qBAAqB,GAAG1E,gEAAwB,CACpDyE,mBACF,CAAC;cAAA,OAAA/gB,QAAA,CAAAG,MAAA,WAEM,IAAI,CAACqgB,gBAAgB,CAACgB,OAAO,CAClC,IAAI,CAACniB,OAAO,EACZ,MAAM,EACN;gBACE0U,IAAI,EAAEhT,YAAY;gBAClB0gB,IAAI,EAAEX,wBAAwB;gBAC9BvE,WAAW,EAAEyE,qBAAqB;gBAClC1V,OAAO,EAAE,IAAI,CAACiV,kBAAkB,GAC5B;kBAAE,cAAc,EAAE;gBAAa,CAAC,GAChC,CAAC,CAAC;gBACNha,YAAY,EAAZA,YAAY;gBACZJ,WAAW,EAAEoQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpQ,WAAW;gBACjCK,kBAAkB,EAAE,IAAI,CAACA,kBAAkB,CAAClE,MAAM;cACpD,CAAC,EACDoY,4BAA4B,KAAKxY,SAAS,GACtC;gBAAEwf,uBAAuB,EAAEhH;cAA6B,CAAC,GACzDxY,SACN,CAAC;YAAA;YAAA;cAAA,OAAAlC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SAlEK0hB,OAAOA,CAAAlgB,EAAA,EAAAC,GAAA,EAAAqB,GAAA;QAAA,OAAA8d,QAAA,CAAAlgB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAP+gB,OAAO;IAAA;EAAA;IAAAhiB,GAAA;IAAAC,KAAA,EAoEb,SAAQ+G,kBAAkBA,CAACoa,YAA+C,EAAE;MAC1E,OAAOA,YAAY,CAACe,mBAAmB,KAAK,IAAI;IAClD;EAAC;IAAAniB,GAAA;IAAAC,KAAA,EAED,SAAQ0hB,4BAA4BA,CAACR,cAAiE,EAAE;MACtG,OAAOA,cAAc,CAACU,QAAQ,CAACpG,IAAI,CAAC,UAAA2G,MAAM;QAAA,OAAIA,MAAM,CAACC,IAAI,KAAK3f,SAAS,IAAI0f,MAAM,CAACE,QAAQ,KAAK5f,SAAS,IAAI0f,MAAM,CAACG,MAAM,KAAK7f,SAAS,IAAI0f,MAAM,CAACI,KAAK,KAAK9f,SAAS,IAAI0f,MAAM,CAACK,UAAU,KAAK/f,SAAS;MAAA,EAAC;IAC3M;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACxI2C;AAAA,IASzB+T,aAAa;EAChC,SAAAA,cACUhU,EAAU,EACV5C,OAAgB,EACxB;IAAAC,iFAAA,OAAA2W,aAAA;IAAA,KAFQhU,EAAU,GAAVA,EAAU;IAAA,KACV5C,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAA0W,aAAA;IAAAzW,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAsB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAClE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAA6Z,OAAA,GAAA3Z,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SACE4Y,MAAiC;QAAA,OAAA3Z,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WAE1B,IAAI,CAACd,OAAO,CAAC+B,GAAG,CAAsB,IAAI,CAACf,YAAY,CAAC,CAAC,EAAEkZ,MAAM,CAAC;YAAA;YAAA;cAAA,OAAA3Y,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC1E;MAAA,SAJK6Y,MAAMA,CAAAlY,EAAA;QAAA,OAAAgY,OAAA,CAAA9Y,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+Y,MAAM;IAAA;EAAA;IAAAha,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAMZ,SAAAiD,SAAA;QAAA,OAAAjD,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cAAA,OAAA8C,SAAA,CAAA7C,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAA4B,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA2C,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CAC3E;MAAA,SAFKhC,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUkV,uDAAc,CAACjV,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACiB,EAAE,CAAC;IACtE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AC9BH,IAAMlB,YAAY,GAAG,mBAAmB;;AAExC;AAAA,IAmCqBiV,cAAc;EACjC,SAAAA,eAAoB3W,OAAgB,EAAE;IAAAC,iFAAA,OAAA0W,cAAA;IAAA,KAAlB3W,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAAyW,cAAA;IAAAxW,GAAA;IAAAC,KAAA;MAAA,IAAA4C,OAAA,GAAA1C,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QACEyZ,MAAiC;QAAA,OAAA3Z,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE1B,IAAI,CAACd,OAAO,CAACkD,IAAI,CAAsB,IAAI,CAAClC,YAAY,CAAC,CAAC,EAAEkZ,MAAM,CAAC;YAAA;YAAA;cAAA,OAAAvZ,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC3E;MAAA,SAJK0C,MAAMA,CAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA7B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAN+B,MAAM;IAAA;EAAA;IAAAhD,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAMZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAA+B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC3E;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAId,SAAQY,YAAYA,CAAA,EAAW;MAC7B,OAAO2V,cAAc,CAACjV,YAAY;IACpC;EAAC;IAAAvB,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACxDH,IAAMA,YAAY,GAAG,aAAa;AAAC,IAQdwU,UAAU;EAC7B,SAAAA,WAAoBlW,OAAgB,EAAE;IAAAC,iFAAA,OAAAiW,UAAA;IAAA,KAAlBlW,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAAgW,UAAA;IAAA/V,GAAA;IAAAC,KAAA;MAAA,IAAAihB,QAAA,GAAA/gB,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QACEoiB,aAKiB;QAAA,IAAAlc,eAAA;UAAAS,KAAA,GAAAhG,SAAA;QAAA,OAAAb,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACjB8F,eAAoC,GAAAS,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAvE,SAAA,GAAAuE,KAAA,MAAG,CAAC,CAAC;cAAA,OAAAzG,QAAA,CAAAG,MAAA,WAElC,IAAI,CAACd,OAAO,CAACkD,IAAI,IAAAzB,MAAA,CACnBC,YAAY,OAAAD,MAAA,CAAIohB,aAAa,GAChC,CAAC,CAAC,EACFlc,eACF,CAAC;YAAA;YAAA;cAAA,OAAAhG,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SAdK0hB,OAAOA,CAAAlgB,EAAA;QAAA,OAAAof,QAAA,CAAAlgB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAP+gB,OAAO;IAAA;EAAA;IAAAhiB,GAAA;IAAAC,KAAA;MAAA,IAAA0iB,iBAAA,GAAAxiB,mFAAA,cAAAC,sEAAA,CAgBb,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,IAAAU,MAAA,CAClBC,YAAY,oBACjB,CAAC;YAAA;YAAA;cAAA,OAAAH,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SAJKyhB,gBAAgBA,CAAA;QAAA,OAAAD,iBAAA,CAAA3hB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAhB2hB,gBAAgB;IAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BgB;AACsB;AAAA,IAUzCrJ,QAAQ;EAC3B,SAAAA,SACUX,cAAsB,EACtB2B,UAAkB,EAClB1a,OAAgB,EACxB;IAAAC,iFAAA,OAAAyZ,QAAA;IAAA,KAHQX,cAAsB,GAAtBA,cAAsB;IAAA,KACtB2B,UAAkB,GAAlBA,UAAkB;IAAA,KAClB1a,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAwZ,QAAA;IAAAvZ,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAiB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC7D;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAuB,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAFKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUiU,oDAAW,CAAChU,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACoX,cAAc,CAAC,EAAAtX,MAAA,CAAGgY,kDAAS,CAAC/X,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC+Y,UAAU,CAAC;IAC/I;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BqC;AAGxC,IAAMhZ,YAAY,GAAG,YAAY;AAAC,IAuCb+X,SAAS;EAC5B,SAAAA,UACUV,cAAsB,EACtB/Y,OAAgB,EACxB;IAAAC,iFAAA,OAAAwZ,SAAA;IAAA,KAFQV,cAAsB,GAAtBA,cAAsB;IAAA,KACtB/Y,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAuZ,SAAA;IAAAtZ,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QACEia,UAAkB,EAClBzX,MAA4B;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAErB,IAAI,CAACd,OAAO,CAAC+B,GAAG,CACrB,IAAI,CAACf,YAAY,CAAC0Z,UAAU,CAAC,EAC7BzX,MACF,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SARKuB,MAAMA,CAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAUZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAA0B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAId,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,UAAA3B,MAAA,CAAUiU,oDAAW,CAAChU,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACsX,cAAc,EAAAtX,MAAA,CACvDgY,SAAS,CAAC/X,YAAY,EAAAD,MAAA,CACrB2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IACvE;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACrEqD;AAAA,IAWnC2U,MAAM;EACzB,SAAAA,OACU2M,QAAgB,EAChBhjB,OAAgB,EACxB;IAAAC,iFAAA,OAAAoW,MAAA;IAAA,KAFQ2M,QAAgB,GAAhBA,QAAgB;IAAA,KAChBhjB,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAmW,MAAA;IAAAlW,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAkB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC9D;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAqB,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACpE;MAAA,SAFKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAU2U,gDAAO,CAAC1U,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACqhB,QAAQ,CAAC;IACrE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBgD;AAEnD,IAAMthB,YAAY,GAAG,UAAU;AAAC,IAaX0U,OAAO;EAC1B,SAAAA,QAAoBpW,OAAgB,EAAE;IAAAC,iFAAA,OAAAmW,OAAA;IAAA,KAAlBpW,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAAkW,OAAA;IAAAjW,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QACEuiB,QAAgB,EAChB/f,MAAoC;QAAA,IAAAggB,iBAAA,EAAAxC,gBAAA;QAAA,OAAAlgB,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,MAEhCwM,yEAAA,CAAOpK,MAAM,CAAC7C,KAAK,MAAK,QAAQ,IAAI,UAAU,IAAI6C,MAAM,CAAC7C,KAAK;gBAAAO,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAC1D4f,iBAAgB,GAAGxd,MAAM,CAAC7C,KAAK,CAAC4hB,QAAQ,CAACjO,GAAG,CAAC,UAACwO,MAAM;gBAAA,OACxDtF,gEAAwB,CAAmCsF,MAAM,CAAC;cAAA,CACpE,CAAC;cAAA,OAAA5hB,QAAA,CAAAG,MAAA,WAEM,IAAI,CAACd,OAAO,CAAC+B,GAAG,CAAkB,IAAI,CAACf,YAAY,CAACgiB,QAAQ,CAAC,EAAE;gBACpE5iB,KAAK,EAAE;kBAAE4hB,QAAQ,EAAEvB;gBAAiB;cACtC,CAAC,CAAC;YAAA;cAEEA,gBAAgB,GAAGxD,gEAAwB,CAI/Cha,MAAM,CAAC7C,KAAK,CAAC;cAAA,OAAAO,QAAA,CAAAG,MAAA,WAER,IAAI,CAACd,OAAO,CAAC+B,GAAG,CAAkB,IAAI,CAACf,YAAY,CAACgiB,QAAQ,CAAC,EAAE;gBACpE5iB,KAAK,EAAEqgB;cACT,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA9f,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACH;MAAA,SAtBKuB,MAAMA,CAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAwBZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WAGS,IAAI,CAACd,OAAO,CAACe,GAAG,CAA2B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACvE;MAAA,SAJKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAMd,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,UAAA3B,MAAA,CAAU2U,OAAO,CAAC1U,YAAY,EAAAD,MAAA,CAC5B2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IAEtE;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDH,IAAMwhB,8BAA8B,GAAG,CAAC,GAAG,EAAE;AAC7C,IAAMC,cAAc,GAAG,GAAG;AAAC,IAYNlC,gBAAgB;EAAA,SAAAA,iBAAA;IAAAhhB,iFAAA,OAAAghB,gBAAA;IAAAze,iFAAA,wBACuB,IAAI4gB,GAAG,CAAC,CAAC;IAAA5gB,iFAAA,+BAEjE,IAAI4gB,GAAG,CAAC,CAAC;EAAA;EAAA,OAAAljB,8EAAA,CAAA+gB,gBAAA;IAAA9gB,GAAA;IAAAC,KAAA,EAEX,SAAAghB,UAAUA,CAAA,EAAG;MACX,IAAI,CAACiC,aAAa,GAAG,IAAID,GAAG,CAAC,CAAC;MAC9B,IAAI,CAACE,oBAAoB,GAAG,IAAIF,GAAG,CAAC,CAAC;IACvC;EAAC;IAAAjjB,GAAA;IAAAC,KAAA;MAAA,IAAAihB,QAAA,GAAA/gB,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QAME8iB,cAAwB,EACxBC,UAAmB,EACnBC,aAAkC,EAClCC,YAAsC;QAAA,IAAA9c,IAAA,EAAA+c,qBAAA,EAAAtB,uBAAA,EAAAuB,YAAA,EAAAC,OAAA,EAAAC,eAAA,EAAApP,IAAA,EAAAwI,WAAA,EAAAkF,IAAA,EAAAnW,OAAA,EAAA/E,YAAA,EAAAJ,WAAA,EAAAE,YAAA,EAAAG,kBAAA,EAAA4c,iBAAA,EAAAC,UAAA,EAAAtZ,GAAA,EAAAuZ,YAAA,EAAAC,iBAAA,EAAAC,aAAA,EAAAC,eAAA,EAAApZ,QAAA,EAAAqZ,kBAAA,EAAAC,WAAA,EAAAC,iCAAA,EAAAC,YAAA;QAAA,OAAAjkB,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA+F,IAAA,GAKlC8c,YAAY,IAAI,CAAC,CAAC,EAAAC,qBAAA,GAAA/c,IAAA,CAFpByb,uBAAuB,EAAvBA,uBAAuB,GAAAsB,qBAAA,cAAGT,8BAA8B,GAAAS,qBAAA,EAAAC,YAAA,GAAAhd,IAAA,CACxDid,OAAO,EAAPA,OAAO,GAAAD,YAAA,cAAGT,cAAc,GAAAS,YAAA;cAEpBE,eAAe,GACnBJ,YAAY,KAAK7gB,SAAS,IAC1Bwf,uBAAuB,IAAI,CAAC,IAC5BwB,OAAO,IAAI,CAAC;cAGZnP,IAAI,GAQF+O,aAAa,CARf/O,IAAI,EACJwI,WAAW,GAOTuG,aAAa,CAPfvG,WAAW,EACXkF,IAAI,GAMFqB,aAAa,CANfrB,IAAI,EACJnW,OAAO,GAKLwX,aAAa,CALfxX,OAAO,EACP/E,YAAY,GAIVuc,aAAa,CAJfvc,YAAY,EACZJ,WAAW,GAGT2c,aAAa,CAHf3c,WAAW,EACXE,YAAY,GAEVyc,aAAa,CAFfzc,YAAY,EACZG,kBAAkB,GAChBsc,aAAa,CADftc,kBAAkB;cAAA,KAGhB2c,eAAe;gBAAAnjB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACV,IAAI,CAAC2jB,cAAc,CACxBlB,cAAc,EACdC,UAAU,EACV9O,IAAI,EACJwI,WAAW,EACXkF,IAAI,EACJnW,OAAO,EACP;gBAAEnF,WAAW,EAAXA,WAAW;gBAAEE,YAAY,EAAZA,YAAY;gBAAEE,YAAY,EAAZA,YAAY;gBAAEC,kBAAkB,EAAlBA;cAAmB,CAChE,CAAC;YAAA;cAGG4c,iBAAiB,GAAGre,IAAI,CAACE,SAAS,CAAC6d,aAAa,CAAC;cACjDO,UAAU,GAAG,IAAI,CAACX,aAAa,CAACtiB,GAAG,CAACgjB,iBAAiB,CAAC;cACtDrZ,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;cAAA,KAElBsZ,UAAU;gBAAArjB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACNojB,YAAY,GAChBvZ,GAAG,GAAGsZ,UAAU,CAACU,gBAAgB,GAAGrC,uBAAuB,GAAG,IAAI;cAAA,KAChE4B,YAAY;gBAAAtjB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACd,IAAI,CAACwiB,aAAa,CAAC7hB,MAAM,CAACuiB,iBAAiB,CAAC;cAC5C,IAAI,CAACV,aAAa,CAACsB,GAAG,CAACZ,iBAAiB,EAAEC,UAAU,CAAC;cAAC,OAAArjB,QAAA,CAAAG,MAAA,WAC/CkjB,UAAU,CAAChZ,QAAQ;YAAA;cAE1B,IAAI,CAACqY,aAAa,CAAC7hB,MAAM,CAACuiB,iBAAiB,CAAC;YAAC;cAI3CG,iBAAiB,GAAG,IAAI,CAACZ,oBAAoB,CAACviB,GAAG,CAACgjB,iBAAiB,CAAC;cAAA,KAEtEG,iBAAiB;gBAAAvjB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACbojB,aAAY,GAChBvZ,GAAG,GAAGwZ,iBAAiB,CAACQ,gBAAgB,GACxCrC,uBAAuB,GAAG,IAAI;cAAA,KAC5B4B,aAAY;gBAAAtjB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACd,IAAI,CAACyiB,oBAAoB,CAAC9hB,MAAM,CAACuiB,iBAAiB,CAAC;cACnD,IAAI,CAACT,oBAAoB,CAACqB,GAAG,CAACZ,iBAAiB,EAAEG,iBAAiB,CAAC;cAAC,OAAAvjB,QAAA,CAAAG,MAAA,WAC7DojB,iBAAiB,CAACE,eAAe;YAAA;cAExC,IAAI,CAACd,oBAAoB,CAAC9hB,MAAM,CAACuiB,iBAAiB,CAAC;YAAC;cAIlDK,eAAe,GAAG,IAAI,CAACK,cAAc,CACzClB,cAAc,EACdC,UAAU,EACV9O,IAAI,EACJwI,WAAW,EACXkF,IAAI,EACJnW,OAAO,EACP;gBAAEnF,WAAW,EAAXA,WAAW;gBAAEE,YAAY,EAAZA,YAAY;gBAAEE,YAAY,EAAZA,YAAY;gBAAEC,kBAAkB,EAAlBA;cAAmB,CAChE,CAAC;cAED,IAAI,CAACmc,oBAAoB,CAACqB,GAAG,CAACZ,iBAAiB,EAAE;gBAC/CW,gBAAgB,EAAEha,GAAG;gBACrB0Z,eAAe,EAAfA;cACF,CAAC,CAAC;cAACzjB,QAAA,CAAAE,IAAA;cAAA,OAEoBujB,eAAe;YAAA;cAAhCpZ,QAAQ,GAAArK,QAAA,CAAAiN,IAAA;cACd,IAAI,CAACyV,aAAa,CAACsB,GAAG,CAACZ,iBAAiB,EAAE;gBACxCW,gBAAgB,EAAEha,GAAG;gBACrBM,QAAQ,EAAEA;cACZ,CAAC,CAAC;cAEIqZ,kBAAkB,GAAG,IAAI,CAAChB,aAAa,CAACuB,IAAI,GAAGf,OAAO;cAC5D,IAAIQ,kBAAkB,EAAE;gBAChBC,WAAW,GAAG,IAAI,CAACjB,aAAa,CAACrW,IAAI,CAAC,CAAC,CAACnM,IAAI,CAAC,CAAC,CAACT,KAAK;gBAC1D,IAAIkkB,WAAW,EAAE;kBACf,IAAI,CAACjB,aAAa,CAAC7hB,MAAM,CAAC8iB,WAAW,CAAC;gBACxC;cACF;cACMC,iCAAiC,GACrC,IAAI,CAACjB,oBAAoB,CAACsB,IAAI,GAAGf,OAAO;cAC1C,IAAIU,iCAAiC,EAAE;gBAC/BD,YAAW,GAAG,IAAI,CAAChB,oBAAoB,CAACtW,IAAI,CAAC,CAAC,CAACnM,IAAI,CAAC,CAAC,CAACT,KAAK;gBACjE,IAAIkkB,YAAW,EAAE;kBACf,IAAI,CAAChB,oBAAoB,CAAC9hB,MAAM,CAAC8iB,YAAW,CAAC;gBAC/C;cACF;cAAC,OAAA3jB,QAAA,CAAAG,MAAA,WACMkK,QAAQ;YAAA;YAAA;cAAA,OAAArK,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAChB;MAAA,SA/GK0hB,OAAOA,CAAAlgB,EAAA,EAAAC,GAAA,EAAAqB,GAAA,EAAAK,GAAA;QAAA,OAAAyd,QAAA,CAAAlgB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAP+gB,OAAO;IAAA;EAAA;IAAAhiB,GAAA;IAAAC,KAAA,EAiHb,SAAQqkB,cAAcA,CACpBI,OAAmB,EACnBrB,UAA4B,EAC5B9O,IAAY,EAUM;MAAA,IATlBwI,WAAoC,GAAA9b,SAAA,CAAAiG,MAAA,QAAAjG,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,CAAC,CAAC;MAAA,IACzCghB,IAAc,GAAAhhB,SAAA,CAAAiG,MAAA,OAAAjG,SAAA,MAAAyB,SAAA;MAAA,IACdoJ,OAAgC,GAAA7K,SAAA,CAAAiG,MAAA,OAAAjG,SAAA,MAAAyB,SAAA;MAAA,IAChCqU,OAKC,GAAA9V,SAAA,CAAAiG,MAAA,OAAAjG,SAAA,MAAAyB,SAAA;MAED,IAAMiJ,MAAM,GAAG+Y,OAAO,CAACrB,UAAU,CAAC;MAElC,QAAQA,UAAU;QAChB,KAAK,KAAK;UACR,OAAQ1X,MAAM,CAAuBgZ,IAAI,CAACD,OAAO,EAAEnQ,IAAI,EAAEwI,WAAW,EAAE;YACpEpW,WAAW,EAAEoQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpQ,WAAW;YACjCE,YAAY,EAAEkQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElQ,YAAY;YACnCE,YAAY,EAAEgQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhQ,YAAY;YACnCC,kBAAkB,EAAE+P,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/P;UAC/B,CAAC,CAAC;QAEJ,KAAK,QAAQ;UACX,OAAQ2E,MAAM,CAA0BgZ,IAAI,CAC1CD,OAAO,EACPnQ,IAAI,EACJwI,WACF,CAAC;QAEH,KAAK,MAAM;UACT,OAAQpR,MAAM,CAAwBgZ,IAAI,CACxCD,OAAO,EACPnQ,IAAI,EACJ0N,IAAI,EACJlF,WAAW,EACXjR,OAAO,IAAI,CAAC,CAAC,EACb;YACEnF,WAAW,EAAEoQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpQ,WAAW;YACjCE,YAAY,EAAEkQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElQ,YAAY;YACnCE,YAAY,EAAEgQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhQ,YAAY;YACnCC,kBAAkB,EAAE+P,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/P;UAC/B,CACF,CAAC;QAEH,KAAK,KAAK;QACV,KAAK,OAAO;UACV,OAAQ2E,MAAM,CAAmCgZ,IAAI,CACnDD,OAAO,EACPnQ,IAAI,EACJ0N,IAAI,EACJlF,WACF,CAAC;QAEH;UACE,MAAM,IAAIrR,KAAK,wBAAApK,MAAA,CAAwBsjB,MAAM,CAACvB,UAAU,CAAC,CAAE,CAAC;MAChE;IACF;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACxMmE;AACtC;AACQ;AAEsB;AAAA,IAEzCyB,YAAY;EAS/B,SAAAA,aAAY/N,OAA6B,EAAE;IAAA,IAAAC,qBAAA;IAAAlX,iFAAA,OAAAglB,YAAA;IACzC/N,OAAO,CAAC/Q,sBAAsB,IAAAgR,qBAAA,GAAGD,OAAO,CAAC/Q,sBAAsB,cAAAgR,qBAAA,cAAAA,qBAAA,GAAI,IAAI;IACvE,IACED,OAAO,CAAC/Q,sBAAsB,KAAK,IAAI,IACvC,CAAC+Q,OAAO,CAAC1R,MAAM,IAAI,EAAE,EAAE6B,MAAM,GAAG,IAAI,EACpC;MACAtD,OAAO,CAACC,IAAI,CACV,mIACF,CAAC;MACDkT,OAAO,CAAC/Q,sBAAsB,GAAG,KAAK;IACxC;IAEA,IAAI,CAACZ,aAAa,GAAG,IAAIkQ,sDAAa,CAACyB,OAAO,CAAC;IAC/C,IAAI,CAAClX,OAAO,GAAG,IAAIsF,gDAAO,CAAC,IAAI,CAACC,aAAa,CAAC;IAC9C,IAAI,CAACiS,WAAW,GAAG,IAAIrB,oDAAW,CAAC,IAAI,CAACnW,OAAO,EAAE,IAAI,CAACuF,aAAa,EAAE,IAAI,CAAC;IAC1E,IAAI,CAACmS,qBAAqB,GAAG,CAAC,CAAC;EACjC;EAAC,OAAAxX,8EAAA,CAAA+kB,YAAA;IAAA9kB,GAAA;IAAAC,KAAA,EAED,SAAAghB,UAAUA,CAAA,EAAG;MACX,IAAI,CAAC5J,WAAW,CAAC4J,UAAU,CAAC,CAAC;;MAE7B;MACAlV,MAAM,CAACgZ,OAAO,CAAC,IAAI,CAACxN,qBAAqB,CAAC,CAACpD,OAAO,CAAC,UAAA1N,IAAA,EAAqB;QAAA,IAAAc,KAAA,GAAAyd,gFAAA,CAAAve,IAAA;UAAnBwe,CAAC,GAAA1d,KAAA;UAAE2d,UAAU,GAAA3d,KAAA;QAChE2d,UAAU,CAAC/K,SAAS,CAAC,CAAC,CAAC8G,UAAU,CAAC,CAAC;MACrC,CAAC,CAAC;IACJ;EAAC;IAAAjhB,GAAA;IAAAC,KAAA,EAED,SAAA0Y,WAAWA,CACTC,cAAsB,EACiB;MACvC,IAAI,CAACA,cAAc,EAAE;QACnB,MAAM,IAAIlN,KAAK,CACb,8FAA8F,GAC5F,kGACJ,CAAC;MACH,CAAC,MAAM;QACL,IAAI,IAAI,CAAC6L,qBAAqB,CAACqB,cAAc,CAAC,KAAKlW,SAAS,EAAE;UAC5D,IAAI,CAAC6U,qBAAqB,CAACqB,cAAc,CAAC,GAAG,IAAIiM,uEAAoB,CACnEjM,cAAc,EACd,IAAI,CAAC/Y,OAAO,EACZ,IAAI,CAACuF,aACP,CAAC;QACH;QACA,OAAO,IAAI,CAACmS,qBAAqB,CAC/BqB,cAAc,CACf;MACH;IACF;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;AC5DyD;AAGrD,IAAMiM,oBAAoB;EAG/B,SAAAA,qBACmBjlB,IAAY,EACZC,OAAgB,EAChBuF,aAAkB,EACnC;IAAAtF,iFAAA,OAAA+kB,oBAAA;IAAA,KAHiBjlB,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAgB,GAAhBA,OAAgB;IAAA,KAChBuF,aAAkB,GAAlBA,aAAkB;IAEnC,IAAI,CAACuU,UAAU,GAAG,IAAIuD,qEAAmB,CACvC,IAAI,CAACtd,IAAI,EACT,IAAI,CAACC,OAAO,EACZ,IAAI,CAACuF,aACP,CAAC;EACH;EAAC,OAAArF,8EAAA,CAAA8kB,oBAAA;IAAA7kB,GAAA;IAAAC,KAAA,EAED,SAAAka,SAASA,CAAA,EAA2B;MAClC,OAAO,IAAI,CAACR,UAAU;IACxB;EAAC;AAAA,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtB+C;AAGV;AAOW;AAGnD,IAAMpY,YAAY,GAAG,YAAY;AAE1B,IAAM2b,mBAAmB;EAK9B,SAAAA,oBACYtE,cAAsB,EACtB/Y,OAAgB,EAChBuF,aAA4B,EACtC;IAAAtF,iFAAA,OAAAod,mBAAA;IAAA7a,iFAAA,2BAN6C,IAAIye,yDAAgB,CAAC,CAAC;IAAA,KAGzDlI,cAAsB,GAAtBA,cAAsB;IAAA,KACtB/Y,OAAgB,GAAhBA,OAAgB;IAAA,KAChBuF,aAA4B,GAA5BA,aAA4B;EACrC;EAAC,OAAArF,8EAAA,CAAAmd,mBAAA;IAAAld,GAAA;IAAAC,KAAA,EAEJ,SAAAghB,UAAUA,CAAA,EAAG;MACX,IAAI,CAACD,gBAAgB,CAACC,UAAU,CAAC,CAAC;IACpC;EAAC;IAAAjhB,GAAA;IAAAC,KAAA;MAAA,IAAAklB,OAAA,GAAAhlB,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QACE8kB,gBAA2E;QAAA,IAAA3e,IAAA;UAAA4e,qBAAA;UAAAnK,4BAAA;UAAAxU,gBAAA;UAAAC,WAAA;UAAA2e,qBAAA;UAAAC,qBAAA;UAAAxe,YAAA;UAAAye,IAAA;UAAAzI,WAAA;UAAA/V,kBAAA;UAAAC,KAAA,GAAAhG,SAAA;QAAA,OAAAb,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA+F,IAAA,GAAAQ,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAvE,SAAA,GAAAuE,KAAA,MAKxD,CAAC,CAAC,EAAAoe,qBAAA,GAAA5e,IAAA,CAHnByU,4BAA4B,EAA5BA,4BAA4B,GAAAmK,qBAAA,cAAG,IAAI,CAACjgB,aAAa,CAC9C8V,4BAA4B,GAAAmK,qBAAA,EAAA3e,gBAAA,GAAAD,IAAA,CAC/BE,WAAW,EAAXA,WAAW,GAAAD,gBAAA,cAAG,IAAI,GAAAA,gBAAA;cAGd4e,qBAAqB,GAAG,CAAC,CAAC;cAChC,IAAI,IAAI,CAAClgB,aAAa,CAAC+V,wBAAwB,KAAK,IAAI,EAAE;gBACxDmK,qBAAqB,CAAC,WAAW,CAAC,GAAG,IAAI;cAC3C;cAACC,qBAAA,GAEiCzI,gEAAwB,CAIxDsI,gBAAgB,CAAC,EAJXre,YAAY,GAAAwe,qBAAA,CAAZxe,YAAY,EAAKye,IAAI,GAAA1D,0FAAA,CAAAyD,qBAAA,EAAAxD,SAAA;cAMvBhF,WAAW,GAAAxP,aAAA,CAAAA,aAAA,KACZ+X,qBAAqB,GACrBE,IAAI;cAGHxe,kBAAkB,GAAG+V,WAAW,CAACoF,mBAAmB,KAAK,IAAI;cAAA,OAAA3hB,QAAA,CAAAG,MAAA,WAE5D,IAAI,CAACqgB,gBAAgB,CAACgB,OAAO,CAMlC,IAAI,CAACniB,OAAO,EACZ,KAAK,EACL;gBACE0U,IAAI,EAAE,IAAI,CAAC1T,YAAY,CAAC,QAAQ,CAAC;gBACjCkc,WAAW,EAAXA,WAAW;gBACXhW,YAAY,EAAZA,YAAY;gBACZJ,WAAW,EAAXA,WAAW;gBACXK,kBAAkB,EAAlBA;cACF,CAAC,EACD;gBACEkb,uBAAuB,EAAEhH;cAC3B,CACF,CAAC;YAAA;YAAA;cAAA,OAAA1a,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SA7CK8hB,MAAMA,CAAAtgB,EAAA;QAAA,OAAAqjB,OAAA,CAAAnkB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANmhB,MAAM;IAAA;EAAA;IAAApiB,GAAA;IAAAC,KAAA,EA+CZ,SAAUY,YAAYA,CAACoC,SAAkB,EAAE;MACzC,UAAA3B,MAAA,CAAUiU,oDAAW,CAAChU,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACoX,cAAc,CAAC,EAAAtX,MAAA,CAAGC,YAAY,EAAAD,MAAA,CAC1F2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGO,SAAS;IAElD;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA,I;;;;;;;;;;;;;;;;;;;;;;;;ACnFH,IAAMA,YAAY,GAAG,aAAa;AAAC,IAsBdqU,OAAO;EAC1B,SAAAA,QAAoB/V,OAAgB,EAAE;IAAAC,iFAAA,OAAA8V,OAAA;IAAA,KAAlB/V,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAA6V,OAAA;IAAA5V,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAACW,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAf,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACtC;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;AC1B0C;AACJ;AAEtD,IAAMQ,YAAY,GAAG,WAAW;AAAC,IAEZgV,QAAQ;EAO3B,SAAAA,SAA6B1W,OAAgB,EAAE;IAAAC,iFAAA,OAAAyW,QAAA;IAAAlU,iFAAA,yCAF3C,CAAC,CAAC;IAAA,KAEuBxC,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAAC8lB,qBAAqB,GAAG,IAAIF,6DAAoB,CAAC,IAAI,CAAC5lB,OAAO,CAAC;EACrE;EAAC,OAAAE,8EAAA,CAAAwW,QAAA;IAAAvW,GAAA;IAAAC,KAAA,EAID,SAAA2lB,YAAYA,CAACnjB,EAAW,EAA6C;MACnE,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAACijB,qBAAqB;MACnC,CAAC,MAAM;QACL,IAAI,IAAI,CAACE,8BAA8B,CAACpjB,EAAE,CAAC,KAAKC,SAAS,EAAE;UACzD,IAAI,CAACmjB,8BAA8B,CAACpjB,EAAE,CAAC,GAAG,IAAIijB,2DAAkB,CAC9DjjB,EAAE,EACF,IAAI,CAAC5C,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAACgmB,8BAA8B,CAACpjB,EAAE,CAAC;MAChD;IACF;EAAC;IAAAzC,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACjCH,IAAMA,YAAY,GAAG,wBAAwB;AAAC,IAMzBkkB,oBAAoB;EACvC,SAAAA,qBAA6B5lB,OAAgB,EAAE;IAAAC,iFAAA,OAAA2lB,oBAAA;IAAA,KAAlB5lB,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAAC,OAAAE,8EAAA,CAAA0lB,oBAAA;IAAAzlB,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QACEmC,EAAU,EACVqjB,oBAA+D;QAAA,IAAAC,iCAAA,EAAA9H,oBAAA;QAAA,OAAA7d,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAEzDqlB,iCAAiC,GAAGzH,KAAK,CAACC,OAAO,CACrDuH,oBACF,CAAC,GACGA,oBAAoB,CAAClS,GAAG,CAAC,UAACoS,KAAK;gBAAA,OAAKzgB,IAAI,CAACE,SAAS,CAACugB,KAAK,CAAC;cAAA,EAAC,CAACnS,IAAI,CAAC,IAAI,CAAC,GACrEiS,oBAAoB;cAAAtlB,QAAA,CAAAE,IAAA;cAAA,OAEW,IAAI,CAACb,OAAO,CAACsH,cAAc,CAE5D,MAAM,EACN,IAAI,CAACtG,YAAY,CAAC,QAAQ,CAAC,EAC3B;gBACE2F,eAAe,EAAE;kBAAC/D,EAAE,EAAFA;gBAAE,CAAC;gBACrB6E,cAAc,EAAEye,iCAAiC;gBACjD7f,iBAAiB,EAAE;kBAAC,cAAc,EAAE;gBAAY,CAAC;gBACjDsD,qBAAqB,EAAE;cACzB,CACF,CAAC;YAAA;cAVKyU,oBAAoB,GAAAzd,QAAA,CAAAiN,IAAA;cAAA,OAAAjN,QAAA,CAAAG,MAAA,WAYnB2d,KAAK,CAACC,OAAO,CAACuH,oBAAoB,CAAC,GACtC7H,oBAAoB,CACjB7N,KAAK,CAAC,IAAI,CAAC,CACXwD,GAAG,CAAC,UAAClF,IAAI;gBAAA,OAAKnJ,IAAI,CAACC,KAAK,CAACkJ,IAAI,CAAC;cAAA,CAAkC,CAAC,GACpEuP,oBAAoB;YAAA;YAAA;cAAA,OAAAzd,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACzB;MAAA,SA3BKuB,MAAMA,CAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CA6BZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CACrB,IAAI,CAACC,YAAY,CAAC,CACpB,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SAJKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAMd,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,OAAOA,SAAS,KAAKP,SAAS,MAAApB,MAAA,CACvBmkB,oBAAoB,CAAClkB,YAAY,OAAAD,MAAA,CACjCmkB,oBAAoB,CAAClkB,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAACyB,SAAS,CAAC,CAAE;IAC7E;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDuD;AAAA,IAgBrCmkB,kBAAkB;EACrC,SAAAA,mBACUjjB,EAAU,EACV5C,OAAgB,EACxB;IAAAC,iFAAA,OAAA4lB,kBAAA;IAAA,KAFQjjB,EAAU,GAAVA,EAAU;IAAA,KACV5C,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAA2lB,kBAAA;IAAA1lB,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAA2B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACvE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CACxB,IAAI,CAACR,YAAY,CAAC,CACpB,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SAJKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAMZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUmkB,6DAAoB,CAAClkB,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACiB,EAAE,CAAC;IAC5E;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AClCiC;AAAA,IAYf2T,QAAQ;EAC3B,SAAAA,SACU6P,UAAkB,EAClBpmB,OAAgB,EACxB;IAAAC,iFAAA,OAAAsW,QAAA;IAAA,KAFQ6P,UAAkB,GAAlBA,UAAkB;IAAA,KAClBpmB,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAqW,QAAA;IAAApW,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAiB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC7D;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAuB,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAFKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAU6U,kDAAS,CAAC5U,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACykB,UAAU,CAAC;IACzE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AC1BH,IAAM1kB,YAAY,GAAG,YAAY;AAAC,IAWb4U,SAAS;EAC5B,SAAAA,UAAoBtW,OAAgB,EAAE;IAAAC,iFAAA,OAAAqW,SAAA;IAAA,KAAlBtW,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAAoW,SAAA;IAAAnW,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAExC,SAAAE,QACE2lB,UAAkB,EAClBnjB,MAA4B;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAErB,IAAI,CAACd,OAAO,CAAC+B,GAAG,CACrB,IAAI,CAACf,YAAY,CAAColB,UAAU,CAAC,EAC7BnjB,MACF,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SARKuB,MAAMA,CAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAUZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAA0B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAId,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,UAAA3B,MAAA,CAAU6U,SAAS,CAAC5U,YAAY,EAAAD,MAAA,CAC9B2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IAEtE;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOW,YAAY;IACrB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCqC;AACmB;AAU3D;AACA;AACA;AAFA,IAGqBkY,OAAO;EAE1B,SAAAA,QACUb,cAAsB,EACtB8B,SAAiB,EACjB7a,OAAgB,EACxB;IAAAC,iFAAA,OAAA2Z,OAAA;IAAA,KAHQb,cAAsB,GAAtBA,cAAsB;IAAA,KACtB8B,SAAiB,GAAjBA,SAAiB;IAAA,KACjB7a,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAA0Z,OAAA;IAAAzZ,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAgB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAC5D;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAsB,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACrE;MAAA,SAFKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,IAAI,CAAC4Y,OAAO,CAAC9V,oBAAoB,EAAE;QACjC;QACAC,OAAO,CAACC,IAAI,CACV,8HACF,CAAC;QACD4V,OAAO,CAAC9V,oBAAoB,GAAG,IAAI;MACrC;MACA,UAAArC,MAAA,CAAUiU,oDAAW,CAAChU,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACoX,cAAc,CAAC,EAAAtX,MAAA,CAAGkY,iDAAQ,CAACjY,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACkZ,SAAS,CAAC;IAC7I;EAAC;AAAA;AAAArY,iFAAA,CAzBkBoX,OAAO,0BACY,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfL;AAEQ;AACF;AAAA,IAQzB9C,UAAU;EAG7B,SAAAA,WACUwC,cAAsB,EACtBtZ,OAAgB,EACxB;IAAAC,iFAAA,OAAA6W,UAAA;IAAAtU,iFAAA,0BAJwD,CAAC,CAAC;IAAA,KAElD8W,cAAsB,GAAtBA,cAAsB;IAAA,KACtBtZ,OAAgB,GAAhBA,OAAgB;IAExB,IAAI,CAAC6c,MAAM,GAAG,IAAIwJ,wDAAe,CAAC,IAAI,CAAC/M,cAAc,EAAEtZ,OAAO,CAAC;EACjE;EAAC,OAAAE,8EAAA,CAAA4W,UAAA;IAAA3W,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAED,SAAAE,QACEwC,MAA8B;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAEvB,IAAI,CAACd,OAAO,CAAC+B,GAAG,CAAmB,IAAI,CAACf,YAAY,CAAC,CAAC,EAAEiC,MAAM,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACvE;MAAA,SAJKuB,MAAMA,CAAAC,EAAA;QAAA,OAAAJ,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAMZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAA2B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACvE;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAiD,SAAA;QAAA,OAAAjD,sEAAA,WAAAoD,SAAA;UAAA,kBAAAA,SAAA,CAAA/C,IAAA,GAAA+C,SAAA,CAAA9C,IAAA;YAAA;cAAA,OAAA8C,SAAA,CAAA7C,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAAyB,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA2C,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CACxE;MAAA,SAFKhC,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAMZ,SAAA0c,KAAKA,CAACC,MAAe,EAAoC;MACvD,IAAIA,MAAM,KAAKla,SAAS,EAAE;QACxB,OAAO,IAAI,CAACga,MAAM;MACpB,CAAC,MAAM;QACL,IAAI,IAAI,CAACG,eAAe,CAACD,MAAM,CAAC,KAAKla,SAAS,EAAE;UAC9C,IAAI,CAACma,eAAe,CAACD,MAAM,CAAC,GAAG,IAAIuJ,uDAAc,CAC/C,IAAI,CAAChN,cAAc,EACnByD,MAAM,EACN,IAAI,CAAC/c,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAACgd,eAAe,CAACD,MAAM,CAAC;MACrC;IACF;EAAC;IAAA5c,GAAA;IAAAC,KAAA,EAED,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUoV,oDAAW,CAACnV,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC2X,cAAc,CAAC;IAC/E;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACtD4D;AAAA,IAM1CgN,cAAc;EACjC,SAAAA,eACUhN,cAAsB,EACtByD,MAAc,EACd/c,OAAgB,EACxB;IAAAC,iFAAA,OAAAqmB,cAAA;IAAA,KAHQhN,cAAsB,GAAtBA,cAAsB;IAAA,KACtByD,MAAc,GAAdA,MAAc;IAAA,KACd/c,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAomB,cAAA;IAAAnmB,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAoB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CAChE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAiB,QAAA,GAAAf,mFAAA,cAAAC,sEAAA,CAId,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACwB,MAAM,CAA6B,IAAI,CAACR,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC5E;MAAA,SAFKE,OAAMA,CAAA;QAAA,OAAAH,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANI,OAAM;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAIZ,SAAQY,YAAYA,CAAA,EAAW;MAC7B,UAAAS,MAAA,CAAUoV,oDAAW,CAACnV,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC2X,cAAc,CAAC,aAAA7X,MAAA,CAAUE,kBAAkB,CAAC,IAAI,CAACob,MAAM,CAAC;IACxH;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACvB4D;AAAA,IAE1CsJ,eAAe;EAClC,SAAAA,gBACU/M,cAAsB,EACtBtZ,OAAgB,EACxB;IAAAC,iFAAA,OAAAomB,eAAA;IAAA,KAFQ/M,cAAsB,GAAtBA,cAAsB;IAAA,KACtBtZ,OAAgB,GAAhBA,OAAgB;EACvB;EAAC,OAAAE,8EAAA,CAAAmmB,eAAA;IAAAlmB,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAEJ,SAAAE,QACEsc,MAAc,EACd9Z,MAAqC;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE9B,IAAI,CAACd,OAAO,CAAC+B,GAAG,CACrB,IAAI,CAACf,YAAY,CAAC+b,MAAM,CAAC,EACzB9Z,MACF,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SARKuB,MAAMA,CAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAUZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAsB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAClE;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAId,SAAQY,YAAYA,CAACoC,SAAkB,EAAU;MAC/C,UAAA3B,MAAA,CAAUoV,oDAAW,CAACnV,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAAC2X,cAAc,CAAC,YAAA7X,MAAA,CAC3E2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IAEtE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ICLkByT,WAAW;EAC9B,SAAAA,YAAoB7W,OAAgB,EAAE;IAAAC,iFAAA,OAAA4W,WAAA;IAAA,KAAlB7W,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAA2W,WAAA;IAAA1W,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAGxC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAqB8V,WAAW,CAACnV,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAf,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACtE;MAAA,SAFKS,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;AAAA;AAAAsB,iFAAA,CAJKqU,WAAW,kBAEC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBR;AAGxC,IAAMnV,YAAY,GAAG,WAAW;AAahC;AACA;AACA;AAFA,IAGqBiY,QAAQ;EAE3B,SAAAA,SAAoBZ,cAAsB,EAAU/Y,OAAgB,EAAE;IAAAC,iFAAA,OAAA0Z,QAAA;IAAA,KAAlDZ,cAAsB,GAAtBA,cAAsB;IAAA,KAAU/Y,OAAgB,GAAhBA,OAAgB;EAAG;EAAC,OAAAE,8EAAA,CAAAyZ,QAAA;IAAAxZ,GAAA;IAAAC,KAAA;MAAA,IAAAyB,OAAA,GAAAvB,mFAAA,cAAAC,sEAAA,CAExE,SAAAE,QACEoa,SAAiB,EACjB5X,MAA2B;QAAA,OAAA1C,sEAAA,WAAAI,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAEpB,IAAI,CAACd,OAAO,CAAC+B,GAAG,CACrB,IAAI,CAACf,YAAY,CAAC6Z,SAAS,CAAC,EAC5B5X,MACF,CAAC;YAAA;YAAA;cAAA,OAAAtC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACF;MAAA,SARKuB,MAAMA,CAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAANY,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,cAAAC,sEAAA,CAUZ,SAAAe,SAAA;QAAA,OAAAf,sEAAA,WAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cAAA,OAAAU,SAAA,CAAAT,MAAA,WACS,IAAI,CAACd,OAAO,CAACe,GAAG,CAAyB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAO,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACrE;MAAA,SAFKJ,QAAQA,CAAA;QAAA,OAAAb,SAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAARF,QAAQ;IAAA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EAId,SAAQY,YAAYA,CAACoC,SAAkB,EAAE;MACvC,IAAI,CAACuW,QAAQ,CAAC7V,oBAAoB,EAAE;QAClC;QACAC,OAAO,CAACC,IAAI,CACV,iIACF,CAAC;QACD2V,QAAQ,CAAC7V,oBAAoB,GAAG,IAAI;MACtC;MACA,UAAArC,MAAA,CAAUiU,oDAAW,CAAChU,YAAY,OAAAD,MAAA,CAAIE,kBAAkB,CAAC,IAAI,CAACoX,cAAc,CAAC,EAAAtX,MAAA,CAC3EkY,QAAQ,CAACjY,YAAY,EAAAD,MAAA,CACpB2B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGlB,kBAAkB,CAACyB,SAAS,CAAC;IACvE;EAAC;IAAAjD,GAAA;IAAAY,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOW,YAAY;IACrB;EAAC;AAAA;AAAAc,iFAAA,CAjCkBmX,QAAQ,0BACW,KAAK;;;;;;;;;;;;;;;;ACwDtC,IAAM4M,eAA+B,GAAG;EAC7CC,QAAQ,EAAE,UAAU;EACpBC,gBAAgB,EAAE,kBAAkB;EACpCC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,UAAU;EACpBC,cAAc,EAAE,gBAAgB;EAChCC,cAAc,EAAE,gBAAgB;EAChCC,gBAAgB,EAAE,kBAAkB;EACpCC,qBAAqB,EAAE,uBAAuB;EAC9CC,WAAW,EAAE,aAAa;EAC1BC,WAAW,EAAE,aAAa;EAC1BC,KAAK,EAAE,OAAO;EACdC,aAAa,EAAE,eAAe;EAC9BC,SAAS,EAAE,WAAW;EACtBC,MAAM,EAAE,QAAQ;EAChBC,YAAY,EAAE,cAAc;EAC5BC,OAAO,EAAE;AACX,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;AC7FyC;AAG1C,SAASC,gBAAgBA,CAIvBvkB,MAA+B,EAAiC;EAChE,OAAOiJ,MAAM,CAACc,IAAI,CAACuZ,mDAAe,CAAC,CAChC9S,MAAM,CAAC,UAACtT,GAAG;IAAA,OAAK8C,MAAM,CAAC9C,GAAG,CAAC,KAAK0C,SAAS;EAAA,EAAC,CAC1CgZ,KAAK,CAAC,UAAC1b,GAAG;IAAA,OAAKsnB,eAAe,CAACxkB,MAAM,CAAC9C,GAAG,CAAC,CAAC;EAAA,EAAC;AACjD;AAEO,SAAS8c,wBAAwBA,CAItCha,MAAS,EAAiC;EAC1C,IAAMykB,MAAM,GAAAha,aAAA,KAAQzK,MAAM,CAAE;EAE5B,IAAM0kB,iBAAiB,GAAGzb,MAAM,CAACc,IAAI,CAACuZ,mDAAe,CAAC,CACnD9S,MAAM,CAAC,UAACtT,GAAG;IAAA,OAAKse,KAAK,CAACC,OAAO,CAACgJ,MAAM,CAACvnB,GAAG,CAAC,CAAC;EAAA,EAAC,CAC3C4T,GAAG,CAAC,UAAC5T,GAAG,EAAK;IACZunB,MAAM,CAACvnB,GAAG,CAAC,GAAGunB,MAAM,CAACvnB,GAAG,CAAC,CAAC6T,IAAI,CAAC,GAAG,CAAC;IACnC,OAAO7T,GAAG;EACZ,CAAC,CAAC;EAEJ,IAAI,CAACwnB,iBAAiB,CAACtgB,MAAM,IAAImgB,gBAAgB,CAAiBE,MAAM,CAAC,EAAE;IACzE,OAAOA,MAAM;EACf;EAEA,IAAI,CAACF,gBAAgB,CAAiBE,MAAM,CAAC,EAAE;IAC7C,MAAM,IAAI7b,KAAK,0CAAApK,MAAA,CAC4BiE,IAAI,CAACE,SAAS,CAAC8hB,MAAM,CAAC,CACjE,CAAC;EACH;EAEA,OAAOA,MAAM;AACf;AAEA,SAASD,eAAeA,CAKtBrnB,KAAoC,EAAmC;EACvE,OAAO,CAACqe,KAAK,CAACC,OAAO,CAACte,KAAK,CAAC;AAC9B;AAWA,SAASwnB,kBAAkBA,CAAClX,KAAc,EAA6B;EACrE,OACErD,yEAAA,CAAOqD,KAAK,MAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACd,SAAS,IAAIA,KAAK,IAClB,OAAQA,KAAK,CAA6BzC,OAAO,KAAK,QAAQ;AAElE;AAEO,SAASpJ,kBAAkBA,CAACgjB,YAAqB,EAAoB;EAC1E,IAAID,kBAAkB,CAACC,YAAY,CAAC,EAAE,OAAOA,YAAY;EAEzD,IAAI;IACF,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;MACpC,OAAO,IAAIhc,KAAK,CAACgc,YAAY,CAAC;IAChC;IACA,OAAO,IAAIhc,KAAK,CAACnG,IAAI,CAACE,SAAS,CAACiiB,YAAY,CAAC,CAAC;EAChD,CAAC,CAAC,OAAA1Y,OAAA,EAAM;IACN,OAAO,IAAItD,KAAK,CAACkZ,MAAM,CAAC8C,YAAY,CAAC,CAAC;EACxC;AACF,C;;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAA0C;AAClD,QAAQ,oCAAO,UAAU;AAAA;AAAA;AAAA;AAAA,kGAAC;AAC1B,MAAM,KAAK;AAAA,EAIN;AACL,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qEAAqE;AACrE,YAAY;AACZ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD,e;;;;;;;;;;ACAA,e;;;;;;;;;;ACAA,e;;;;;;;;;;ACAA;AACA;AACA;AACA,iCAAiC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACH5F,wBAAwB,mBAAO,CAAC,mIAAwB;AACxD;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+BAA+B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,cAAc;AACd,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,+BAA+B,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACxF1F,0BAA0B,mBAAO,CAAC,uIAA0B;AAC5D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,oCAAoC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACP/F,kBAAkB,mBAAO,CAAC,uHAAkB;AAC5C,+BAA+B,mBAAO,CAAC,iJAA+B;AACtE;AACA;AACA;AACA,uCAAuC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACLlG,oBAAoB,mBAAO,CAAC,2HAAoB;AAChD,wBAAwB,mBAAO,CAAC,mIAAwB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA,gCAAgC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;AChC3F;AACA;AACA;AACA,QAAQ,QAAQ;AAChB,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,qCAAqC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACrBhG;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA,mCAAmC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACT9F,oBAAoB,mBAAO,CAAC,2HAAoB;AAChD,kBAAkB,mBAAO,CAAC,uHAAkB;AAC5C,uBAAuB,mBAAO,CAAC,iIAAuB;AACtD,0BAA0B,mBAAO,CAAC,uIAA0B;AAC5D,+BAA+B,mBAAO,CAAC,iJAA+B;AACtE,sBAAsB,mBAAO,CAAC,+HAAsB;AACpD,wBAAwB,mBAAO,CAAC,mIAAwB;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,sCAAsC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;AC5EjG,cAAc,+IAAiC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;AClBhG;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,0BAA0B,yBAAyB,SAAS,yBAAyB,kB;;;;;;;;;;ACTrF;;AAEA,cAAc,mBAAO,CAAC,2IAA+B;AACrD;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;;ACdA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;ACJA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;ACxBA;AACA;AACA;;;;;;;;;;;;;;;;;;ACFqE;AACpB;AACjD;AACA,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;;ACR+C;AAC/C;AACA,kBAAkB,cAAc;AAChC;AACA,wHAAwH,6DAAa;AACrI;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;ACX+C;AAC/C;AACA,cAAc,6DAAa;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;ACRA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;ACJiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG,QAAQ,8DAAc;AACzB;;;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;;ACNA;AACA;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;;;;;;;;;;;;;;;;;ACF6E;AAC7E;AACA;AACA;AACA;AACA,QAAQ,4EAA4B;AACpC;AACA;AACA,gBAAgB,cAAc,wCAAwC;AACtE;AACA;AACA;;;;;;;;;;;;;;;;ACXA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACRkC;AAC6B;AAC/D;AACA,wBAAwB,sDAAO;AAC/B;AACA,SAAS,qEAAqB;AAC9B;;;;;;;;;;;;;;;;ACNA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;ACJiD;AACY;AACY;AACtB;AACnD;AACA,SAAS,8DAAc,OAAO,oEAAoB,UAAU,0EAA0B,UAAU,+DAAe;AAC/G;;;;;;;;;;;;;;;;;ACNkC;AAClC;AACA,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC3C;AACA,UAAU,2DAAW;AACrB,qBAAqB,sDAAO;AAC5B;;;;;;;;;;;;;;;;ACLA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;ACRqD;AACrD;AACA;AACA,qCAAqC,gEAAgB;AACrD,cAAc;AACd,+LAA+L,gEAAgB;AAC/M;AACA;;;;;;;;;;;;;;;;;;;;ACPiD;AACA;AACI;AACd;AACvC;AACA;AACA;AACA,uBAAuB,gEAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,yDAAS,eAAe,8DAAc;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG,8DAAc;AACtB,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;ACzBgC;AACI;AACF;AACS;AACI;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ,gDAAW;AACnB,OAAO,+CAAU;AACjB;AACA,SAAS,+CAAqB;AAC9B,GAAG;AACH;;AAEA;AACA,iDAAK;AACL;AACA;AACA;AACA;AACA,0CAA0C,wBAAwB;AAClE,MAAM;AACN;AACA;AACA,+CAA+C,wBAAwB;AACvE;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA,sCAAsC,OAAO;;AAE7C;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,aAAa;AACb;AACA;AACA,EAAE,iDAAK;;AAEP;AACA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB,aAAa,UAAU;AACvB;AACA;AACA,aAAa,iDAAK;;AAElB,UAAU,SAAS;AACnB;AACA;;AAEA;;AAEA,kBAAkB,YAAY;AAC9B;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,kBAAkB,2DAAU,qBAAqB,GAAG;AACpD;AACA;;AAEA,oBAAoB,iDAAK;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,IAAI;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc,2DAAU;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iEAAe;AACf;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnI0C;AACZ;AACe;AACW;AACF;AACL;AAKP;AACY;AACjB;AAC6C;AAC3C;;AAEzC;;AAEA,QAAQ,aAAa,EAAE,iDAAK;;AAE5B;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,uBAAuB,iDAAK;AAC5B,UAAU,8BAA8B;;AAExC,QAAQ,iDAAK;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,UAAU,qCAAqC;AAC/C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,0DAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,iDAAK;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,2DAAU;AAChC,gCAAgC,KAAK;AACrC,cAAc,2DAAU;AACxB;AACA;AACA,WAAW;AACX,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA;;AAEA,QAAQ,iDAAK;AACb,mCAAmC,0DAAQ;AAC3C;AACA;AACA,OAAO;AACP;AACA;;AAEA,QAAQ,iDAAK,4BAA4B,iDAAK;AAC9C;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA;AACA;;AAEA;AACA,mBAAmB,iDAAK;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,EAAE,qEAAa;;AAErB,gCAAgC,iDAAK;AACrC,6BAA6B,iDAAK;;AAElC;;AAEA;;AAEA,yBAAyB,sEAAc;AACvC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,mFAA2B;AACrD;AACA,oBAAoB,2DAAU;AAC9B;AACA,YAAY,2DAAU;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAAU;AAC9B;AACA,YAAY,2DAAU;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA,sCAAsC,wFAAsB;AAC5D;AACA,YAAY,sFAAoB,CAAC,gFAAc;AAC/C;;AAEA,iBAAiB,oEAAW;AAC5B;AACA;;AAEA,WAAW,iDAAK;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,kDAAO;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,iDAAK;AACpC;AACA,oBAAoB,2DAAU;AAC9B;AACA,YAAY,2DAAU;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET,sCAAsC,iDAAK;;AAE3C;AACA;AACA,YAAY,wFAAsB;AAClC;AACA,cAAc,sFAAoB,CAAC,gFAAc;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2DAAU;AAClC;AACA,gBAAgB,2DAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,oEAAW;AACrB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;;AAEA,yCAAyC,iDAAK;AAC9C;AACA;AACA;;AAEA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAAU;AAC9B;AACA,YAAY,2DAAU;AACtB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,QAAQ,2DAAM;AACd;AACA,mBAAmB,6DAAY;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,MAAM;AACN;;AAEA;AACA;AACA;AACA,uFAAuF,2DAAU;AACjG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,2DAAU;AACxB;AACA,YAAY,2DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY,2DAAU;AACtB;AACA;AACA;;AAEA;;AAEO;AACP;AACA,UAAU,2BAA2B;AACrC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;ACpdS;AACO;AACwB;AAChB;AACQ;AACC;AACZ;AACO;AACuB;AAClB;;AAExD;;AAEA,iEAAe;AACf;AACA;AACA,sBAAsB,qEAAa;AACnC;AACA,6BAA6B,6DAAY;AACzC,YAAY,qDAAqD;AACjE;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC,0CAA0C;;AAE1C;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC,6DAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,2DAAM;AACd;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,2DAAU,oBAAoB,2DAAU;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,wBAAwB,2DAAU,MAAM,2DAAU;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qDAAqD,iEAAoB;AACzE;AACA;AACA;AACA;AACA,cAAc,2DAAU;AACxB;AACA,+CAA+C,2DAAU,aAAa,2DAAU;AAChF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ,iDAAK;AACb;AACA,SAAS;AACT;;AAEA;AACA,WAAW,iDAAK;AAChB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,sFAAoB;AACjE;AACA;;AAEA;AACA;AACA,yCAAyC,sFAAoB;;AAE7D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,gEAAa;AAC3D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,qEAAa;;AAEpC,uBAAuB,0DAAQ;AAC/B;AACA,cAAc,2DAAU;AACxB;AACA,YAAY,2DAAU;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,GAAG,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjOS;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACJ;AACS;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,uBAAuB,kBAAkB;;AAEvE;AACA,EAAE,iDAAK,mCAAmC,kBAAkB;;AAE5D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,+DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,8BAA8B,sEAAc,CAAC,iDAAK;;AAElD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACxFR;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;ACtId;;AAEkC;;AAE/C,4BAA4B,2DAAU;AACtC;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA,eAAe,eAAe;AAC9B;AACA;AACA,kDAAkD,2DAAU;AAC5D;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACrBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEmB;AACc;AACW;AACN;AACR;AACI;AACC;AACH;AACkB;;AAE/D,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,YAAY,0CAA0C;;AAEtD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA,IAAI,6DAAS;AACb;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;;AAEzC;AACA,MAAM,iDAAK;AACX;AACA,OAAO;;AAEP,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kDAAkD,iEAAoB;AACtE;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA;AACA,MAAM,2DAAW,aAAa;AAC9B;AACA;AACA,2BAA2B;AAC3B,OAAO;AACP;AACA;AACA,CAAC;;AAED,iDAAK;AACL;AACA;AACA;AACA,QAAQ,2DAAW,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;;ACxRR;;AAEmB;AACa;;AAE7C;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;;AAEA;AACA,QAAQ,iDAAK;AACb;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,iDAAK;AACb;;AAEA,0BAA0B,wDAAY;AACtC;AACA;;AAEA;;AAEA;AACA,QAAQ,iDAAK;AACb;AACA;AACA;AACA,aAAa,iDAAK;AAClB;AACA;AACA,OAAO;AACP,MAAM;AACN,WAAW,iDAAK;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,iDAAK;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iDAAK;AACtC;AACA,MAAM,iDAAK;AACX;AACA,UAAU,iDAAK;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;AC/Kb;;AAEmB;AACsB;;AAEtD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,SAAS,iDAAK;AACpB,iBAAiB,oEAAY;AAC7B,MAAM,SAAS,iDAAK,qBAAqB,iDAAK;AAC9C,kBAAkB;AAClB;AACA;AACA;AACA,aAAa,iDAAK;AAClB;AACA;;AAEA;AACA,YAAY,iDAAK;AACjB;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT;AACA;AACA,oCAAoC,iDAAK;AACzC,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAK,8CAA8C,OAAO;AAC1D,oDAAoD;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;AC3Xf;;AAEmB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACvErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,uBAAuB,qEAAa;AACpC;AACA,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACrBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;;AAE7B;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yDAAa;AACrC,QAAQ;AACR;AACA;;AAEA,yBAAyB,6DAAY;;AAErC;AACA,KAAK;AACL;AACA,WAAW,+DAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,yDAAa;AAChD;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oCAAoC,6DAAY;AAChD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACxFa;;AAEmB;AACa;;AAE7C,qDAAqD,wDAAY,KAAK,WAAW;;AAEjF;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,cAAc,UAAU;AAC1C,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,QAAQ,iDAAK;AACb;AACA,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,uBAAuB,wBAAwB;AACtD;AACA,kBAAkB,iDAAK;AACvB,cAAc,iDAAK;AACnB,cAAc,iDAAK;AACnB;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;AC3Ha;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,wDAAwD,sDAAU,mBAAmB,sDAAU;AAC/F;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEmB;AACY;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D,0CAA0C,iDAAK;;AAE/C;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,iDAAK;;AAEnC,6BAA6B,iDAAK;AAClC;AACA;;AAEA,yBAAyB,iDAAK;;AAE9B;AACA,mDAAmD,sEAAc;AACjE;;AAEA;AACA,QAAQ,iDAAK;AACb,QAAQ,iDAAK;AACb,QAAQ,iDAAK;AACb,QAAQ,iDAAK;AACb,QAAQ,iDAAK;AACb,QAAQ,iDAAK;AACb;AACA;AACA;AACA,UAAU,iDAAK;AACf;AACA;AACA,UAAU,iDAAK;AACf,kEAAkE;AAClE;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,wEAAgB;AACjC;;AAEA;AACA,wBAAwB,iDAAK;AAC7B;AACA;AACA;AACA;;AAEA,iBAAiB,kEAAU;AAC3B,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,iDAAK,qBAAqB,iDAAK;AACzC;AACA;;AAEA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,oBAAoB,2DAAU,SAAS,2DAAU;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChLX;;AAEb,iEAAe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACPK,yB;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;AC5DpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;AC5EjB;;AAEb;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,GAAG;AACd,aAAa,UAAU;AACvB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACba;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;;AAEA,mBAAmB,iDAAK;AACxB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,YAAY,wEAAoB;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;ACjEa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACduD;AACR;AACf;;AAEhC;AACA,UAAU,SAAS;;AAEnB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,2DAAU;AACnC;AACA,kBAAkB,gEAAa;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,2DAAU,eAAe,QAAQ,cAAc,2DAAU;AAC7E,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,YAAY,SAAS;;AAErB,+BAA+B,iDAAK;;AAEpC;AACA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;ACvDE;AACY;;AAE5C,iEAAe,0DAAQ;AACvB;AACA;AACA;AACA;;AAEA,2BAA2B,KAAK,GAAG,0BAA0B;;AAE7D,YAAY,iDAAK;AACjB,iCAAiC,gCAAgC;AACjE;AACA,YAAY,iDAAK;AACjB,8BAA8B,KAAK;AACnC;AACA,YAAY,iDAAK;AACjB,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA,YAAY,iDAAK;AACjB,kCAAkC,SAAS;AAC3C;;AAEA,yCAAyC;AACzC,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF,cAAc;AACd,gDAAgD;AAChD,wBAAwB,oBAAoB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,OAAO;AACP,iBAAiB;AACjB,KAAK,EAAC;;;;;;;;;;;;;;;;AC3DN;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACe;AACf;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,6BAA6B;;AAE7B,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACnGa;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iDAAK;AACd;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf,uBAAuB,iDAAK;AAC5B;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0BAA0B,iDAAK;AAC/B;AACA;;AAEA;;AAEA,kBAAkB,iDAAK;AACvB;AACA;;AAEA;AACA;;AAEA,MAAM,iDAAK,yBAAyB,iDAAK;AACzC;;AAEA,IAAI,iDAAK;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;AChGjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AClBa;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;ACb4C;;AAE5C,iEAAe,0DAAQ;AACvB;AACA,yBAAyB,0DAAQ;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,cAAc,0DAAQ;AACtB,MAAM,0DAAQ,qCAAqC,0DAAQ;AAC3D;AACA,cAAc,EAAC;;;;;;;;;;;;;;;;ACff;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEmB;;AAEhC;AACA;AACA,0BAA0B,iDAAK;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,iEAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL;AACA,CAAC;AAAA,4LAAC;;;;;;;;;;;;;;;;ACpEW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;;;;;;ACL2C;AACN;AACL;;AAEzB;AACP;AACA,uBAAuB,2DAAW;;AAElC,SAAS,wDAAQ;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA,IAAI,iDAAK;;;;;;;;;;;;;;;;;;;;;;;;AClDmC;AACZ;AACmB;AAChB;AACkB;AACJ;AACE;AACd;;AAErC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,8CAA8C,EAAE;AAChD;AACA;;AAEA,iEAAe;AACf,oBAAoB,gEAAW,GAAG;;AAElC;AACA;AACA,wBAAwB,iDAAK;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,6DAAY;;AAE5C,kBAAkB,wDAAQ;AAC1B,IAAI,kEAAa;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,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,iDAAK;AAC/E;AACA;AACA;;AAEA;AACA,YAAY,iDAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,QAAQ,iDAAK;;AAEb;AACA,gBAAgB,2DAAU;AAC1B;AACA,QAAQ,2DAAU;AAClB;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,IAAI,iDAAK;AACT;AACA,UAAU,iDAAK;AACf,mCAAmC,iDAAK;;AAExC;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,OAAO,iDAAK;AACZ;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;ACxPb;;AAEmB;AACS;AACG;;AAE7B;AACf,SAAS,0DAAU,WAAW,0DAAQ;AACtC;AACA,UAAU,0DAAQ,WAAW,iDAAK;AAClC;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AClBO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,cAAc;;AAEhC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACxFa;;AAE4B;AACM;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,MAAM,iDAAO;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,2DAAU;AAC1B;AACA,QAAQ,2DAAU;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,KAAK,6BAA6B,gBAAgB;AACtE;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACA,aAAa;AACb;;AAEA;AACA;AACA,cAAc,2DAAU,8BAA8B,2DAAU;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2DAAU;AAC5B;AACA,UAAU,2DAAU;AACpB;AACA;AACA;AACA;AACA;AACA,gBAAgB,2DAAU,0BAA0B,2DAAU;AAC9D;AACA;AACA;;AAEA,iEAAe;AACf;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;AC/GW;;AAEb,iEAAe,yCAAyC,EAAC;;;;;;;;;;;;;;;;ACF5C;;AAEb,iEAAe,iDAAiD,EAAC;;;;;;;;;;;;;;;;;ACFpD;;AAE+D;AAC5E,iEAAe,2DAA2D,wEAAoB,EAAC;;;;;;;;;;;;;;;;;;;ACHpC;AACd;AACR;;AAErC,iEAAe;AACf;AACA;AACA,mBAAmB;AACnB,YAAY;AACZ,QAAQ;AACR,GAAG;AACH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;ACZF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAQE;;;;;;;;;;;;;;;;;;ACnDqC;AACI;;AAE3C,iEAAe;AACf,KAAK,6CAAK;AACV,KAAK,sDAAQ;AACb,CAAC,EAAC;;;;;;;;;;;;;;;;;ACNW;;AAEwB;;AAErC;;AAEA,QAAQ,WAAW;AACnB,QAAQ,iBAAiB;AACzB,QAAQ,wBAAwB;;AAEhC;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,QAAQ,UAAU;;AAElB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,aAAa,qBAAM,yBAAyB,qBAAM;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,UAAU;AACrB;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;AACA,4BAA4B,qBAAqB,IAAI;AACrD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uFAAuF,qBAAM;AAC7F,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS,GAAG,SAAS;AAC9C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,UAAU,0BAA0B;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,iCAAiC,aAAa,IAAI;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4DAAI;AACrB;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK,gBAAgB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,WAAW,cAAc;AAChC;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;UCl6BF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;UACA;;;;;WC5BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC,I;;;;;WCPD,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE5Q,MAAM,EAANA,yDAAM;EAAEgO,YAAY,EAAZA,+DAAY;EAAE6C,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRuleV1.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRulesV1.ts","webpack://Typesense/./src/Typesense/AnalyticsV1.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/CurationSet.ts","webpack://Typesense/./src/Typesense/CurationSetItem.ts","webpack://Typesense/./src/Typesense/CurationSetItems.ts","webpack://Typesense/./src/Typesense/CurationSets.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/NLSearchModel.ts","webpack://Typesense/./src/Typesense/NLSearchModels.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stemming.ts","webpack://Typesense/./src/Typesense/StemmingDictionaries.ts","webpack://Typesense/./src/Typesense/StemmingDictionary.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/SynonymSet.ts","webpack://Typesense/./src/Typesense/SynonymSetItem.ts","webpack://Typesense/./src/Typesense/SynonymSetItems.ts","webpack://Typesense/./src/Typesense/SynonymSets.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Types.ts","webpack://Typesense/./src/Typesense/Utils.ts","webpack://Typesense/./node_modules/.pnpm/loglevel@1.9.2/node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/fanis/code/typesense/client-libs/js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/fanis/code/typesense/client-libs/js/src/Typesense|http","webpack://Typesense/ignored|/Users/fanis/code/typesense/client-libs/js/src/Typesense|https","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/OverloadYield.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/regenerator.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/regeneratorAsync.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/regeneratorDefine.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/regeneratorKeys.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/regeneratorValues.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/readOnlyError.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/global","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise<CollectionAliasSchema> {\n return this.apiCall.get<CollectionAliasSchema>(this.endpointPath());\n }\n\n async delete(): Promise<CollectionAliasSchema> {\n return this.apiCall.delete<CollectionAliasSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise<CollectionAliasSchema> {\n return this.apiCall.put<CollectionAliasSchema>(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise<CollectionAliasesResponseSchema> {\n return this.apiCall.get<CollectionAliasesResponseSchema>(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record<string, AnalyticsRule> = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(): AnalyticsRules;\n rules(id: string): AnalyticsRule;\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport interface AnalyticsEventsRetrieveSchema {\n events: {\n name: string;\n event_type: string;\n collection: string;\n timestamp: number;\n user_id: string;\n doc_id?: string;\n doc_ids?: string[];\n query?: string;\n }[];\n}\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise<AnalyticsEventCreateSchema> {\n return this.apiCall.post<AnalyticsEventCreateSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(params: {\n user_id: string;\n name: string;\n n: number;\n }): Promise<AnalyticsEventsRetrieveSchema> {\n return this.apiCall.get<AnalyticsEventsRetrieveSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n name: string;\n type: string;\n collection: string;\n event_type: string;\n rule_tag?: string;\n params?: {\n destination_collection?: string;\n limit?: number;\n capture_search_requests?: boolean;\n meta_fields?: string[];\n expand_query?: boolean;\n counter_field?: string;\n weight?: number;\n };\n}\n\nexport interface AnalyticsRuleUpsertSchema {\n name?: string;\n type?: string;\n collection?: string;\n event_type?: string;\n rule_tag?: string;\n params?: {\n destination_collection?: string;\n limit?: number;\n capture_search_requests?: boolean;\n meta_fields?: string[];\n expand_query?: boolean;\n counter_field?: string;\n weight?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<AnalyticsRuleSchema> {\n return this.apiCall.get<AnalyticsRuleSchema>(this.endpointPath());\n }\n\n async delete(): Promise<AnalyticsRuleDeleteSchema> {\n return this.apiCall.delete<AnalyticsRuleDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRulesV1 from \"./AnalyticsRulesV1\";\n\nexport interface AnalyticsRuleCreateSchemaV1 {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\" | \"log\";\n params: {\n enable_auto_aggregation?: boolean;\n source: {\n collections: string[];\n events?: {\n type: string;\n weight?: number;\n name: string;\n }[];\n };\n expand_query?: boolean;\n destination?: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchemaV1 {\n name: string;\n}\n\nexport interface AnalyticsRuleSchemaV1 extends AnalyticsRuleCreateSchemaV1 {\n name: string;\n}\n\nexport default class AnalyticsRuleV1 {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<AnalyticsRuleSchemaV1> {\n return this.apiCall.get<AnalyticsRuleSchemaV1>(this.endpointPath());\n }\n\n async delete(): Promise<AnalyticsRuleDeleteSchemaV1> {\n return this.apiCall.delete<AnalyticsRuleDeleteSchemaV1>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRulesV1.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n AnalyticsRuleUpsertSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params:\n | AnalyticsRuleCreateSchema\n | AnalyticsRuleCreateSchema[],\n ): Promise<\n | AnalyticsRuleSchema\n | (\n | AnalyticsRuleSchema\n | {\n error?: string;\n }\n )[]\n > {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n {},\n {},\n );\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleUpsertSchema\n ): Promise<AnalyticsRuleSchema> {\n return this.apiCall.put<AnalyticsRuleSchema>(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(ruleTag?: string): Promise<AnalyticsRuleSchema[]> {\n const query: Record<string, string> = {};\n if (ruleTag) {\n query[\"rule_tag\"] = ruleTag;\n }\n return this.apiCall.get<AnalyticsRuleSchema[]>(this.endpointPath(), query);\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchemaV1,\n AnalyticsRuleSchemaV1,\n} from \"./AnalyticsRuleV1\";\n\nexport interface AnalyticsRulesRetrieveSchemaV1 {\n rules: AnalyticsRuleSchemaV1[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRulesV1 {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchemaV1\n ): Promise<AnalyticsRuleSchemaV1> {\n return this.apiCall.put<AnalyticsRuleSchemaV1>(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise<AnalyticsRulesRetrieveSchemaV1> {\n return this.apiCall.get<AnalyticsRulesRetrieveSchemaV1>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRulesV1.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRulesV1 from \"./AnalyticsRulesV1\";\nimport AnalyticsRuleV1 from \"./AnalyticsRuleV1\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\n/**\n * @deprecated Deprecated starting with Typesense Server v30. Please migrate to `client.analytics` (new Analytics APIs).\n */\nexport default class AnalyticsV1 {\n private static hasWarnedDeprecation = false;\n private readonly _analyticsRules: AnalyticsRulesV1;\n private readonly individualAnalyticsRules: Record<string, AnalyticsRuleV1> = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRulesV1(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(): AnalyticsRulesV1;\n rules(id: string): AnalyticsRuleV1;\n rules(id?: string): AnalyticsRulesV1 | AnalyticsRuleV1 {\n if (!AnalyticsV1.hasWarnedDeprecation) {\n // eslint-disable-next-line no-console\n console.warn(\n \"[typesense] 'analyticsV1' is deprecated starting with Typesense Server v30 and will be removed in a future release. Please use 'analytics' instead.\",\n );\n AnalyticsV1.hasWarnedDeprecation = true;\n }\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRuleV1(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n\n\n","import type {\n AxiosAdapter,\n AxiosRequestConfig,\n AxiosResponse,\n Method,\n} from \"axios\";\nimport axios from \"axios\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\nimport { Logger } from \"loglevel\";\nimport Configuration from \"./Configuration\";\nimport type { NodeConfiguration, StreamConfig } from \"./Configuration\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport type { DocumentSchema, SearchResponse } from \"./Documents\";\nimport { toErrorWithMessage } from \"./Utils\";\nimport { MessageChunk } from \"./Types\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null &&\n typeof window === \"undefined\";\n\nexport interface HttpClient {\n get<T>(\n endpoint: string,\n queryParameters: Record<string, unknown>,\n {\n abortSignal,\n responseType,\n streamConfig,\n isStreamingRequest,\n }: {\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest: boolean | undefined;\n },\n ): Promise<T>;\n delete<T>(\n endpoint: string,\n queryParameters: Record<string, unknown>,\n ): Promise<T>;\n post<T>(\n endpoint: string,\n bodyParameters: unknown,\n queryParameters: Record<string, unknown>,\n additionalHeaders: Record<string, string>,\n {\n abortSignal,\n responseType,\n streamConfig,\n isStreamingRequest,\n }: {\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest: boolean | undefined;\n },\n ): Promise<T>;\n put<T>(\n endpoint: string,\n bodyParameters: unknown,\n queryParameters: Record<string, unknown>,\n ): Promise<T>;\n patch<T>(\n endpoint: string,\n bodyParameters: unknown,\n queryParameters: Record<string, unknown>,\n ): Promise<T>;\n}\n\nexport default class ApiCall implements HttpClient {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record<string, string>;\n\n readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private configuration: Configuration) {\n this.apiKey = this.configuration.apiKey;\n this.nodes =\n this.configuration.nodes == null\n ? this.configuration.nodes\n : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes\n this.nearestNode =\n this.configuration.nearestNode == null\n ? this.configuration.nearestNode\n : JSON.parse(JSON.stringify(this.configuration.nearestNode));\n this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds;\n this.healthcheckIntervalSeconds =\n this.configuration.healthcheckIntervalSeconds;\n this.numRetriesPerRequest = this.configuration.numRetries;\n this.retryIntervalSeconds = this.configuration.retryIntervalSeconds;\n this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam;\n this.additionalUserHeaders = this.configuration.additionalHeaders;\n\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get<T>(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n streamConfig = undefined,\n isStreamingRequest,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest?: boolean | undefined;\n } = {},\n ): Promise<T> {\n return this.performRequest<T>(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n streamConfig,\n isStreamingRequest,\n });\n }\n\n async delete<T>(endpoint: string, queryParameters: any = {}): Promise<T> {\n return this.performRequest<T>(\"delete\", endpoint, {\n queryParameters,\n isStreamingRequest: false,\n });\n }\n\n async post<T>(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n streamConfig = undefined,\n isStreamingRequest,\n }: {\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest?: boolean | undefined;\n } = {},\n ): Promise<T> {\n return this.performRequest<T>(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n abortSignal,\n responseType,\n streamConfig,\n isStreamingRequest,\n });\n }\n\n async put<T>(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise<T> {\n return this.performRequest<T>(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n isStreamingRequest: false,\n });\n }\n\n async patch<T>(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise<T> {\n return this.performRequest<T>(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n isStreamingRequest: false,\n });\n }\n\n private getAdapter(): AxiosAdapter | undefined {\n if (!this.configuration.axiosAdapter) return undefined;\n\n if (typeof this.configuration.axiosAdapter === \"function\")\n return this.configuration.axiosAdapter;\n\n const isCloudflareWorkers =\n typeof navigator !== \"undefined\" &&\n navigator.userAgent === \"Cloudflare-Workers\";\n\n return isCloudflareWorkers\n ? axios.getAdapter(this.configuration.axiosAdapter).bind(globalThis)\n : axios.getAdapter(this.configuration.axiosAdapter);\n }\n\n async performRequest<T>(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n streamConfig = undefined,\n isStreamingRequest,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n streamConfig?:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined;\n isStreamingRequest?: boolean | undefined;\n },\n ): Promise<T> {\n this.configuration.validate();\n\n if (isStreamingRequest) {\n this.logger.debug(`Request: Performing streaming request to ${endpoint}`);\n\n // For browser streaming, always use responseType: \"stream\" and adapter: \"fetch\"\n if (!isNodeJSEnvironment && typeof fetch !== \"undefined\") {\n this.logger.debug(\"Using fetch adapter for browser streaming\");\n responseType = \"stream\";\n }\n }\n\n const requestNumber = Date.now();\n let lastException;\n let wasAborted = false;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener: ((event: Event) => void) | undefined;\n\n try {\n const requestOptions: AxiosRequestConfig<string> = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n validateStatus: (status) => {\n /* Override default validateStatus, which only considers 2xx a success.\n In our case, if the server returns any HTTP code, we will handle it below.\n We do this to be able to raise custom errors based on response code.\n */\n return status > 0;\n },\n transformResponse: [\n (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n typeof headers[\"content-type\"] === \"string\" &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n // Use fetch adapter only for streaming requests in browser environments\n requestOptions.adapter =\n isStreamingRequest && !isNodeJSEnvironment\n ? \"fetch\"\n : this.getAdapter();\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => {\n wasAborted = true;\n source.cancel();\n };\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n if (isStreamingRequest) {\n requestOptions.responseType = \"stream\";\n if (!isNodeJSEnvironment) {\n requestOptions.headers = {\n ...requestOptions.headers,\n Accept: \"text/event-stream\",\n };\n }\n } else if (responseType) {\n requestOptions.responseType = responseType;\n }\n\n const response = await axios(requestOptions);\n\n if (response.status >= 1 && response.status <= 499) {\n // Treat any status code > 0 and < 500 to be an indication that node is healthy\n // We exclude 0 since some clients return 0 when request fails\n this.setNodeHealthcheck(node, HEALTHY);\n }\n\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n if (isStreamingRequest) {\n return this.handleStreamingResponse<T>(response, streamConfig);\n }\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(\n response,\n response.data?.message,\n requestOptions.data,\n ),\n );\n } else {\n // Retry all other HTTP errors (HTTPStatus > 500)\n // This will get caught by the catch block below\n throw this.customErrorForResponse(\n response,\n response.data?.message,\n requestOptions.data,\n );\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n if (!wasAborted) {\n this.setNodeHealthcheck(node, UNHEALTHY);\n }\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error?.code ?? \"\"} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n\n if (wasAborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n if (isStreamingRequest) {\n this.invokeOnErrorCallback(error, streamConfig);\n }\n\n if (numTries < this.numRetriesPerRequest + 1) {\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n } else {\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\n }\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\n }\n\n private processStreamingLine(line: string): {\n conversation_id: string;\n message: string;\n } | null {\n if (!line.trim() || line === \"data: [DONE]\") {\n return null;\n }\n\n // Handle SSE format (data: {...})\n if (line.startsWith(\"data: \")) {\n return this.processDataLine(line.slice(6).trim());\n }\n\n // Try parsing as JSON if it starts with a brace\n if (line.trim().startsWith(\"{\")) {\n try {\n const jsonData = JSON.parse(line.trim());\n if (jsonData && typeof jsonData === \"object\") {\n if (!jsonData.conversation_id) {\n jsonData.conversation_id = \"unknown\";\n }\n if (!jsonData.message && jsonData.message !== \"\") {\n jsonData.message = \"\";\n }\n return jsonData;\n }\n return {\n conversation_id: \"unknown\",\n message: JSON.stringify(jsonData),\n };\n } catch {\n return {\n conversation_id: \"unknown\",\n message: line.trim(),\n };\n }\n }\n\n return {\n conversation_id: \"unknown\",\n message: line.trim(),\n };\n }\n\n private processDataLine(dataContent: string): {\n conversation_id: string;\n message: string;\n } | null {\n if (!dataContent) {\n return null;\n }\n\n if (dataContent.startsWith(\"{\")) {\n try {\n const jsonData = JSON.parse(dataContent);\n // Ensure the required fields exist\n if (jsonData && typeof jsonData === \"object\") {\n if (!jsonData.conversation_id) {\n jsonData.conversation_id = \"unknown\";\n }\n if (!jsonData.message && jsonData.message !== \"\") {\n jsonData.message = \"\";\n }\n return jsonData;\n }\n return {\n conversation_id: \"unknown\",\n message: JSON.stringify(jsonData),\n };\n } catch {\n // Not valid JSON, use as plain text\n return {\n conversation_id: \"unknown\",\n message: dataContent,\n };\n }\n }\n\n // For plain text\n return {\n conversation_id: \"unknown\",\n message: dataContent,\n };\n }\n\n private async handleStreamingResponse<T>(\n response: AxiosResponse,\n streamConfig:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined,\n ): Promise<T> {\n this.logger.debug(\n `Handling streaming response. Environment: ${isNodeJSEnvironment ? \"Node.js\" : \"Browser\"}`,\n );\n\n if (isNodeJSEnvironment && response.data) {\n return this.handleNodeStreaming<T>(response, streamConfig);\n }\n\n if (!isNodeJSEnvironment) {\n return this.handleBrowserStreaming<T>(response, streamConfig);\n }\n\n this.logger.debug(\"Processing non-streaming response\");\n this.invokeOnCompleteCallback(response.data, streamConfig);\n return Promise.resolve(response.data as T);\n }\n\n private handleNodeStreaming<T>(\n response: AxiosResponse,\n streamConfig?: StreamConfig<T extends DocumentSchema ? T : DocumentSchema>,\n ): Promise<T> {\n this.logger.debug(\"Processing Node.js stream\");\n return new Promise<T>((resolve, reject) => {\n const stream = response.data;\n const allChunks:\n | [\n ...MessageChunk[],\n SearchResponse<T extends DocumentSchema ? T : DocumentSchema>,\n ]\n | [] = [];\n let buffer = \"\";\n\n stream.on(\"data\", (chunk) => {\n try {\n const data = chunk.toString();\n buffer += data;\n\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n\n this.processStreamLines(lines, allChunks, streamConfig);\n } catch (error) {\n reject(error);\n }\n });\n\n stream.on(\"end\", () => {\n if (buffer.trim().length > 0) {\n const lines = buffer.split(\"\\n\");\n this.processStreamLines(lines, allChunks, streamConfig);\n }\n\n this.finalizeStreamResult<T>(\n allChunks,\n resolve,\n response,\n streamConfig,\n );\n });\n\n stream.on(\"error\", (error: unknown) => {\n this.logger.error(`Stream error: ${error}`);\n this.invokeOnErrorCallback(error, streamConfig);\n reject(error);\n });\n });\n }\n\n private handleBrowserStreaming<T>(\n response: AxiosResponse,\n streamConfig?: StreamConfig<T extends DocumentSchema ? T : DocumentSchema>,\n ): Promise<T> {\n this.logger.debug(\"Processing browser stream\");\n\n return new Promise<T>(async (resolve, reject) => {\n try {\n if (response.data && typeof response.data.getReader === \"function\") {\n return this.handleBrowserReadableStream<T>(\n response.data,\n resolve,\n reject,\n response,\n streamConfig,\n );\n }\n\n if (typeof response.data === \"string\") {\n return this.handleBrowserStringResponse<T>(\n response.data,\n resolve,\n response,\n streamConfig,\n );\n }\n\n if (typeof response.data === \"object\" && response.data !== null) {\n this.logger.debug(\"No stream found, but data object is available\");\n this.invokeOnCompleteCallback(response.data, streamConfig);\n return resolve(response.data as T);\n }\n\n this.logger.error(\"No usable data found in response\");\n return reject(new Error(\"No usable data found in response\"));\n } catch (error) {\n this.logger.error(`Error processing streaming response: ${error}`);\n this.invokeOnErrorCallback(error, streamConfig);\n reject(error);\n }\n });\n }\n\n private async handleBrowserReadableStream<T>(\n stream: any,\n resolve: (value: T) => void,\n reject: (reason?: any) => void,\n response: AxiosResponse,\n streamConfig:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined,\n ): Promise<void> {\n this.logger.debug(\"Found ReadableStream in response.data\");\n const reader = stream.getReader();\n const allChunks:\n | [\n ...MessageChunk[],\n SearchResponse<T extends DocumentSchema ? T : DocumentSchema>,\n ]\n | [] = [];\n let buffer = \"\";\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n\n if (done) {\n this.logger.debug(\"Stream reading complete\");\n if (buffer.trim()) {\n const lines = buffer.split(\"\\n\");\n this.processStreamLines(lines, allChunks, streamConfig);\n }\n break;\n }\n\n const chunk = new TextDecoder().decode(value);\n this.logger.debug(`Received chunk: ${chunk.length} bytes`);\n\n buffer += chunk;\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() || \"\";\n\n this.processStreamLines(lines, allChunks, streamConfig);\n }\n\n this.finalizeStreamResult<T>(allChunks, resolve, response, streamConfig);\n } catch (error) {\n this.logger.error(`Stream error: ${error}`);\n this.invokeOnErrorCallback(error, streamConfig);\n reject(error);\n }\n }\n\n private handleBrowserStringResponse<T>(\n data: string,\n resolve: (value: T) => void,\n response: AxiosResponse,\n streamConfig:\n | StreamConfig<T extends DocumentSchema ? T : DocumentSchema>\n | undefined,\n ): void {\n this.logger.debug(\"Processing text response as stream data\");\n const allChunks:\n | [\n ...MessageChunk[],\n SearchResponse<T extends DocumentSchema ? T : DocumentSchema>,\n ]\n | [] = [];\n\n const lines = data.split(\"\\n\");\n this.processStreamLines(lines, allChunks, streamConfig);\n\n if (allChunks.length > 0) {\n const finalResult =\n this.combineStreamingChunks<\n T extends DocumentSchema ? T : DocumentSchema\n >(allChunks);\n this.invokeOnCompleteCallback(finalResult, streamConfig);\n resolve(finalResult as unknown as T);\n } else {\n // If no chunks were processed, use the original response\n this.logger.debug(\"No chunks processed, returning original API response\");\n this.invokeOnCompleteCallback(response.data, streamConfig);\n resolve(response.data as T);\n }\n }\n\n private processStreamLines<T extends DocumentSchema>(\n lines: string[],\n allChunks: [...MessageChunk[], SearchResponse<T>] | [],\n streamConfig: StreamConfig<T> | undefined,\n ): void {\n for (const line of lines) {\n if (line.trim() && line !== \"data: [DONE]\") {\n const processed = this.processStreamingLine(line);\n if (processed !== null) {\n this.invokeOnChunkCallback(processed, streamConfig);\n (allChunks as MessageChunk[]).push(processed);\n }\n }\n }\n }\n\n private finalizeStreamResult<T>(\n allChunks:\n | [\n ...MessageChunk[],\n SearchResponse<T extends DocumentSchema ? T : DocumentSchema>,\n ]\n | [],\n resolve: (value: T) => void,\n response: AxiosResponse,\n streamConfig?: StreamConfig<T extends DocumentSchema ? T : DocumentSchema>,\n ): void {\n if (allChunks.length > 0) {\n const finalResult = this.combineStreamingChunks(allChunks);\n this.logger.debug(\"Stream processing complete\");\n this.invokeOnCompleteCallback(finalResult, streamConfig);\n resolve(finalResult as unknown as T);\n } else {\n this.logger.debug(\"No chunks processed, returning original API response\");\n this.invokeOnCompleteCallback(response.data, streamConfig);\n resolve(response.data as T);\n }\n }\n\n /**\n * Combines multiple streaming chunks into a single coherent result\n * This is critical for ensuring we return the complete data rather than just the last chunk\n */\n private combineStreamingChunks<T extends DocumentSchema>(\n chunks: [...MessageChunk[], SearchResponse<T>] | [],\n ): SearchResponse<T> {\n if (chunks.length === 0) return {} as SearchResponse<T>;\n if (chunks.length === 1) return chunks[0] as unknown as SearchResponse<T>;\n\n // For conversation streams with message chunks\n const messagesChunks = this.getMessageChunks(\n chunks as [...MessageChunk[], SearchResponse<T>],\n );\n if (messagesChunks.length > 0) {\n return this.combineMessageChunks(\n chunks as [...MessageChunk[], SearchResponse<T>],\n messagesChunks,\n );\n }\n\n // For regular search responses\n const lastChunk = chunks[chunks.length - 1];\n if (!this.isCompleteSearchResponse(lastChunk)) {\n throw new Error(\"Last chunk is not a complete search response\");\n }\n\n return lastChunk;\n }\n\n private getMessageChunks<T extends DocumentSchema>(\n chunks: [...MessageChunk[], SearchResponse<T>],\n ): MessageChunk[] {\n return chunks.filter(this.isChunkMessage);\n }\n\n private isChunkMessage(chunk: unknown): chunk is MessageChunk {\n return (\n typeof chunk === \"object\" &&\n chunk !== null &&\n \"message\" in chunk &&\n \"conversation_id\" in chunk\n );\n }\n\n private combineMessageChunks<T extends DocumentSchema>(\n chunks: [...MessageChunk[], SearchResponse<T>],\n messagesChunks: MessageChunk[],\n ): SearchResponse<T> {\n this.logger.debug(\n `Found ${messagesChunks.length} message chunks to combine`,\n );\n\n const lastChunk = chunks[chunks.length - 1];\n if (this.isCompleteSearchResponse(lastChunk)) {\n return lastChunk;\n }\n\n const metadataChunk = chunks.find(this.isCompleteSearchResponse);\n\n if (!metadataChunk) {\n throw new Error(\"No metadata chunk found\");\n }\n\n return metadataChunk;\n }\n\n private isCompleteSearchResponse<T extends DocumentSchema>(\n chunk: MessageChunk | SearchResponse<T>,\n ): chunk is SearchResponse<T> {\n if (\n typeof chunk === \"object\" &&\n chunk !== null &&\n Object.keys(chunk as object).length > 0\n ) {\n return (\n \"results\" in (chunk as object) ||\n \"found\" in (chunk as object) ||\n \"hits\" in (chunk as object) ||\n \"page\" in (chunk as object) ||\n \"search_time_ms\" in (chunk as object)\n );\n }\n return false;\n }\n\n // Attempts to find the next healthy node, looping through the list of nodes once.\n // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy\n // so we can try the request for good measure, in case that node has become healthy since\n getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n }\n\n // None of the nodes are marked healthy, but some of them could have become healthy since last health check.\n // So we will just return the next node.\n this.logger.debug(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n httpBody?: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage, httpBody, response.status);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage, httpBody, response.status);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage, httpBody, response.status);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage, httpBody, response.status);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage, httpBody, response.status);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage, httpBody, response.status);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage, httpBody, response.status);\n } else {\n error = new HTTPError(errorMessage, httpBody, response.status);\n }\n\n return error;\n }\n\n private invokeOnChunkCallback<T extends DocumentSchema>(\n data: {\n conversation_id: string;\n message: string;\n },\n streamConfig: StreamConfig<T> | undefined,\n ): void {\n if (streamConfig?.onChunk) {\n try {\n streamConfig.onChunk(data);\n } catch (error) {\n this.logger.warn(`Error in onChunk callback: ${error}`);\n }\n }\n }\n\n private invokeOnCompleteCallback<T extends DocumentSchema>(\n data: SearchResponse<T>,\n streamConfig: StreamConfig<T> | undefined,\n ): void {\n if (streamConfig?.onComplete) {\n try {\n streamConfig.onComplete(data);\n } catch (error) {\n this.logger.warn(`Error in onComplete callback: ${error}`);\n }\n }\n }\n\n private invokeOnErrorCallback<T extends DocumentSchema>(\n error: unknown,\n streamConfig: StreamConfig<T> | undefined,\n ): void {\n if (streamConfig?.onError) {\n const errorObj = toErrorWithMessage(error);\n try {\n streamConfig.onError(errorObj);\n } catch (callbackError) {\n this.logger.warn(`Error in onError callback: ${callbackError}`);\n }\n }\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport AnalyticsV1 from \"./AnalyticsV1\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\nimport Stemming from \"./Stemming\";\nimport NLSearchModels from \"./NLSearchModels\";\nimport NLSearchModel from \"./NLSearchModel\";\nimport SynonymSets from \"./SynonymSets\";\nimport SynonymSet from \"./SynonymSet\";\nimport CurationSets from \"./CurationSets\";\nimport CurationSet from \"./CurationSet\";\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n analyticsV1: AnalyticsV1;\n stemming: Stemming;\n private readonly _collections: Collections;\n private readonly individualCollections: Record<string, Collection>;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record<string, Alias>;\n private readonly _keys: Keys;\n private readonly individualKeys: Record<number, Key>;\n private readonly _presets: Presets;\n private readonly individualPresets: Record<string, Preset>;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record<string, Stopword>;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record<string, Conversation>;\n private readonly _nlSearchModels: NLSearchModels;\n private readonly individualNLSearchModels: Record<string, NLSearchModel>;\n private readonly _synonymSets: SynonymSets;\n private readonly individualSynonymSets: Record<string, SynonymSet>;\n private readonly _curationSets: CurationSets;\n private readonly individualCurationSets: Record<string, CurationSet>;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this.analyticsV1 = new AnalyticsV1(this.apiCall);\n this.stemming = new Stemming(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n this._nlSearchModels = new NLSearchModels(this.apiCall);\n this.individualNLSearchModels = {};\n this._synonymSets = new SynonymSets(this.apiCall);\n this.individualSynonymSets = {};\n this._curationSets = new CurationSets(this.apiCall);\n this.individualCurationSets = {};\n }\n\n collections(): Collections;\n collections<T extends Record<string, any> = object>(\n collectionName: string,\n ): Collection<T>;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n\n nlSearchModels(): NLSearchModels;\n nlSearchModels(id: string): NLSearchModel;\n nlSearchModels(id?: string): NLSearchModels | NLSearchModel {\n if (id === undefined) {\n return this._nlSearchModels;\n } else {\n if (this.individualNLSearchModels[id] === undefined) {\n this.individualNLSearchModels[id] = new NLSearchModel(id, this.apiCall);\n }\n return this.individualNLSearchModels[id];\n }\n }\n\n synonymSets(): SynonymSets;\n synonymSets(synonymSetName: string): SynonymSet;\n synonymSets(synonymSetName?: string): SynonymSets | SynonymSet {\n if (synonymSetName === undefined) {\n return this._synonymSets;\n } else {\n if (this.individualSynonymSets[synonymSetName] === undefined) {\n this.individualSynonymSets[synonymSetName] = new SynonymSet(\n synonymSetName,\n this.apiCall,\n );\n }\n return this.individualSynonymSets[synonymSetName];\n }\n }\n\n curationSets(): CurationSets;\n curationSets(name: string): CurationSet;\n curationSets(name?: string): CurationSets | CurationSet {\n if (name === undefined) {\n return this._curationSets;\n } else {\n if (this.individualCurationSets[name] === undefined) {\n this.individualCurationSets[name] = new CurationSet(\n name,\n this.apiCall,\n );\n }\n return this.individualCurationSets[name];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport type {\n BaseCollectionCreateSchema,\n CollectionCreateSchema,\n} from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopolygon\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema\n extends Partial<\n Pick<BaseCollectionCreateSchema, \"token_separators\" | \"symbols_to_index\">\n > {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n range_index?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends Required<CollectionCreateSchema> {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial<Omit<CollectionCreateSchema, \"name\" | \"fields\">> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport interface CollectionDeleteOptions {\n compact_store?: boolean;\n}\n\nexport default class Collection<T extends DocumentSchema = object> {\n private readonly _documents: Documents<T>;\n private individualDocuments: Record<string, Document<T>> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record<string, Override> = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record<string, Synonym> = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise<CollectionSchema> {\n return this.apiCall.get<CollectionSchema>(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise<CollectionSchema> {\n return this.apiCall.patch<CollectionSchema>(this.endpointPath(), schema);\n }\n\n async delete(\n options: CollectionDeleteOptions = {},\n ): Promise<CollectionSchema> {\n return this.apiCall.delete<CollectionSchema>(this.endpointPath(), options);\n }\n\n async exists(): Promise<boolean> {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents<T>;\n documents(documentId: string): Document<T>;\n documents(documentId?: string): Document<T> | Documents<T> {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport type { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface BaseCollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n synonym_sets?: string[];\n curation_sets?: string[];\n}\n\ninterface CollectionCreateSchemaWithSrc\n extends Pick<BaseCollectionCreateSchema, \"name\"> {\n fields?: CollectionFieldSchema[];\n}\n\ninterface CollectionCreateSchemaWithoutSrc extends BaseCollectionCreateSchema {\n fields: CollectionFieldSchema[];\n}\n\n/**\n * Defines the schema for creating a collection in Typesense.\n *\n * If the `src_name` property in `Options` is a string, the `fields` prop is optional, and only used for embedding fields.\n * Otherwise, `fields` will be required.\n */\nexport type CollectionCreateSchema<\n Options extends CollectionCreateOptions = CollectionCreateOptions,\n> = Options[\"src_name\"] extends string\n ? CollectionCreateSchemaWithSrc\n : CollectionCreateSchemaWithoutSrc;\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create<const Options extends CollectionCreateOptions>(\n schema: CollectionCreateSchema<Options>,\n options?: Options,\n ): Promise<CollectionSchema> {\n return this.apiCall.post<CollectionSchema>(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise<CollectionSchema[]> {\n return this.apiCall.get<CollectionSchema[]>(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\nimport type { AxiosRequestConfig } from \"axios\";\nimport { DocumentSchema, SearchResponse } from \"./Documents\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record<string, string>;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n\n /**\n * Set a custom axios adapter\n *\n * Useful for customizing the underlying HTTP client library used by Typesense.\n *\n * For example, you can use this to use a custom HTTP client library like `fetch`, in order for the library to work on the edge.\n * Related GiHub issue: https://github.com/typesense/typesense-js/issues/161\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n */\n axiosAdapter?: AxiosRequestConfig[\"adapter\"];\n}\n\n/**\n * Configuration options for streaming responses\n */\nexport interface BaseStreamConfig {\n /**\n * Callback function that will be called for each chunk of data received\n * during streaming\n */\n onChunk?: (data: { conversation_id: string; message: string }) => void;\n /**\n * Callback function that will be called if there is an error during streaming\n */\n onError?: (error: Error) => void;\n}\n\n/**\n * Stream configuration for standard search responses\n * For specialized responses like MultiSearch, extend BaseStreamConfig with the appropriate onComplete signature\n */\nexport interface StreamConfig<\n T extends DocumentSchema,\n> extends BaseStreamConfig {\n /**\n * Callback function that will be called when the streaming is complete\n */\n onComplete?: (data: SearchResponse<T>) => void;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record<string, string>;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n readonly axiosAdapter?: AxiosRequestConfig[\"adapter\"];\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => ({ ...node })) // Copy the caller's node objects before mutating them\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node)) as NodeConfiguration[];\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode =\n options.nearestNode == null\n ? options.nearestNode\n : { ...options.nearestNode };\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\n this.connectionTimeoutSeconds =\n options.connectionTimeoutSeconds || options.timeoutSeconds || 5;\n this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60;\n this.numRetries =\n options.numRetries !== undefined && options.numRetries >= 0\n ? options.numRetries\n : this.nodes.length + (this.nearestNode == null ? 0 : 1) || 3;\n this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1;\n\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.axiosAdapter = options.axiosAdapter;\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\n switch (node[\"protocol\"]) {\n case \"https\":\n node[\"port\"] = 443;\n break;\n case \"http\":\n node[\"port\"] = 80;\n break;\n }\n }\n return node;\n }\n\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<ConversationSchema[]> {\n return this.apiCall.get<ConversationSchema[]>(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise<ConversationUpdateSchema> {\n return this.apiCall.put<ConversationUpdateSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise<ConversationDeleteSchema> {\n return this.apiCall.delete<ConversationDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n account_id?: string;\n url?: string;\n ttl?: number;\n vllm_url?: string;\n openai_url?: string;\n openai_path?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise<ConversationModelCreateSchema> {\n return this.apiCall.put<ConversationModelCreateSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise<ConversationModelSchema> {\n return this.apiCall.get<ConversationModelSchema>(this.endpointPath());\n }\n\n async delete(): Promise<ConversationModelDeleteSchema> {\n return this.apiCall.delete<ConversationModelDeleteSchema>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise<ConversationModelCreateSchema> {\n return this.apiCall.post<ConversationModelCreateSchema>(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise<ConversationModelSchema[]> {\n return this.apiCall.get<ConversationModelSchema[]>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise<ConversationsRetrieveSchema> {\n return this.apiCall.get<ConversationsRetrieveSchema>(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport CurationSets from \"./CurationSets\";\nimport type {\n CurationSetDeleteResponseSchema,\n CurationSetSchema,\n CurationSetUpsertSchema,\n} from \"./CurationSets\";\nimport CurationSetItems from \"./CurationSetItems\";\nimport CurationSetItem from \"./CurationSetItem\";\n\nexport default class CurationSet {\n private readonly _items: CurationSetItems;\n private individualItems: Record<string, CurationSetItem> = {};\n\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {\n this._items = new CurationSetItems(this.name, apiCall);\n }\n\n async upsert(params: CurationSetUpsertSchema): Promise<CurationSetSchema> {\n return this.apiCall.put<CurationSetSchema>(this.endpointPath(), params);\n }\n\n async retrieve(): Promise<CurationSetSchema> {\n return this.apiCall.get<CurationSetSchema>(this.endpointPath());\n }\n\n async delete(): Promise<CurationSetDeleteResponseSchema> {\n return this.apiCall.delete<CurationSetDeleteResponseSchema>(\n this.endpointPath(),\n );\n }\n\n items(): CurationSetItems;\n items(itemId: string): CurationSetItem;\n items(itemId?: string): CurationSetItems | CurationSetItem {\n if (itemId === undefined) {\n return this._items;\n } else {\n if (this.individualItems[itemId] === undefined) {\n this.individualItems[itemId] = new CurationSetItem(\n this.name,\n itemId,\n this.apiCall,\n );\n }\n return this.individualItems[itemId];\n }\n }\n\n private endpointPath(): string {\n return `${CurationSets.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport CurationSets from \"./CurationSets\";\nimport type { CurationObjectSchema } from \"./CurationSets\";\n\nexport type CurationItemUpsertSchema = Omit<CurationObjectSchema, \"id\">;\n\nexport interface CurationItemDeleteResponseSchema {\n id: string;\n}\n\nexport default class CurationSetItem {\n constructor(\n private name: string,\n private itemId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<CurationObjectSchema> {\n return this.apiCall.get<CurationObjectSchema>(this.endpointPath());\n }\n\n async upsert(\n params: CurationItemUpsertSchema,\n ): Promise<CurationObjectSchema> {\n return this.apiCall.put<CurationObjectSchema>(this.endpointPath(), params);\n }\n\n async delete(): Promise<CurationItemDeleteResponseSchema> {\n return this.apiCall.delete<CurationItemDeleteResponseSchema>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${CurationSets.RESOURCEPATH}/${encodeURIComponent(\n this.name,\n )}/items/${encodeURIComponent(this.itemId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport CurationSets, { CurationObjectSchema } from \"./CurationSets\";\n\nexport default class CurationSetItems {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise<CurationObjectSchema[]> {\n return this.apiCall.get<CurationObjectSchema[]>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${CurationSets.RESOURCEPATH}/${encodeURIComponent(this.name)}/items${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\n\nexport type CurationRuleSchema =\n | {\n query: string;\n match: \"exact\" | \"contains\";\n filter_by?: string;\n tags?: string[];\n }\n | {\n query?: never;\n match?: never;\n filter_by: string;\n tags?: string[];\n }\n | {\n query?: never;\n match?: never;\n filter_by?: string;\n tags: string[];\n };\n\nexport interface CurationObjectSchema {\n id: string;\n rule: CurationRuleSchema;\n includes?: {\n id: string;\n position: number;\n }[];\n excludes?: {\n id: string;\n }[];\n filter_by?: string;\n sort_by?: string;\n replace_query?: string;\n remove_matched_tokens?: boolean;\n filter_curated_hits?: boolean;\n stop_processing?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CurationSetUpsertSchema {\n items: CurationObjectSchema[];\n}\n\nexport interface CurationSetSchema extends CurationSetUpsertSchema {\n name?: string;\n}\n\nexport interface CurationSetsListEntrySchema {\n name: string;\n items: CurationObjectSchema[];\n}\n\nexport interface CurationSetDeleteResponseSchema {\n name: string;\n}\n\nexport default class CurationSets {\n constructor(private apiCall: ApiCall) {}\n static readonly RESOURCEPATH = \"/curation_sets\";\n\n async retrieve(): Promise<CurationSetsListEntrySchema[]> {\n return this.apiCall.get<CurationSetsListEntrySchema[]>(\n CurationSets.RESOURCEPATH,\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise<DebugResponseSchema> {\n return this.apiCall.get<DebugResponseSchema>(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\nimport { normalizeArrayableParams } from \"./Utils\";\n\nexport interface DocumentsRetrieveParameters {\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n}\n\nexport class Document<T extends DocumentSchema = object> {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(options?: DocumentsRetrieveParameters): Promise<T> {\n const queryParams = normalizeArrayableParams(options ?? {})\n \n return this.apiCall.get<T>(this.endpointPath(), queryParams);\n }\n\n async delete(options?: DeleteQuery): Promise<T> {\n return this.apiCall.delete<T>(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial<T>,\n options: DocumentWriteParameters = {}\n ): Promise<T> {\n return this.apiCall.patch<T>(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError, RequestMalformed } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\nimport {\n SearchParams,\n SearchResponseRequestParams,\n WriteableDocuments,\n} from \"./Types\";\n\n// Todo: use generic to extract filter_by values\nexport type DeleteQuery =\n | {\n truncate?: true;\n }\n | {\n truncate?: never;\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n return_doc?: boolean;\n return_id?: boolean;\n };\n\nexport interface DeleteResponse<T extends DocumentSchema = DocumentSchema> {\n num_deleted: number;\n documents?: T[];\n ids?: string[];\n}\n\ninterface ImportResponseSuccess<T extends DocumentSchema = DocumentSchema> {\n success: true;\n error?: never;\n document?: T;\n id?: string;\n code?: never;\n}\n\nexport interface ImportResponseFail<T extends DocumentSchema = DocumentSchema> {\n success: false;\n error: string;\n document?: T;\n id?: string;\n code: number;\n}\n\nexport type ImportResponse<T extends DocumentSchema = DocumentSchema> = ImportResponseSuccess<T> | ImportResponseFail<T>;\n\nexport type DocumentSchema = Record<string, any>;\n\nexport interface SearchParamsWithPreset<\n T extends DocumentSchema,\n Infix extends string,\n> extends Partial<SearchParams<T, Infix>> {\n preset: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight<T> = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight<T[TAttribute]>;\n };\n\nexport interface SearchResponseHit<T extends DocumentSchema> {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight<T>;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: `${number}`; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: `${number}`; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n geo_distance_meters?: {\n location: number\n };\n}\n\nexport interface SearchResponseFacetCountSchema<T extends DocumentSchema> {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n parent?: Record<string, string | number | boolean>;\n }[];\n field_name: keyof T;\n sampled: boolean;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n total_values?: number;\n };\n}\n\ninterface LLMResponse {\n content: string;\n extraction_method: string;\n model: string;\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse<T extends DocumentSchema> {\n facet_counts?: SearchResponseFacetCountSchema<T>[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit<T>[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit<T>[];\n found?: number;\n }[];\n parsed_nl_query?: {\n parse_time_ms: number;\n generated_params: SearchParams<T>;\n augmented_params: SearchParams<T>;\n llm_response?: LLMResponse;\n };\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n metadata?: JsonRecord;\n}\n\ntype JSONPrimitive = string | number | boolean | null;\n\ntype JsonRecord = {\n [key: string]: JSONPrimitive | JSONPrimitive[] | JsonRecord;\n};\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n remote_embedding_batch_size?: number;\n remote_embedding_timeout_ms?: number;\n remote_embedding_num_tries?: number;\n return_doc?: boolean;\n return_id?: boolean;\n throwOnFail?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents<T extends DocumentSchema = object>\n extends SearchOnlyDocuments<T>\n implements WriteableDocuments<T>\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(\n document: T,\n options: Omit<DocumentWriteParameters, \"action\"> = {},\n ): Promise<T> {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post<T>(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: Omit<DocumentWriteParameters, \"action\"> = {}): Promise<T> {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post<T>(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise<UpdateByFilterResponse>;\n async update(document: T, options: Omit<DocumentWriteParameters, \"action\">): Promise<T>;\n async update(\n document: T,\n options: Omit<DocumentWriteParameters, \"action\"> | UpdateByFilterParameters = {},\n ): Promise<UpdateByFilterResponse | T> {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch<T>(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post<T>(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async emplace(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise<UpdateByFilterResponse>;\n async emplace(\n document: T,\n options: Omit<DocumentWriteParameters, \"action\">,\n ): Promise<T>;\n async emplace(\n document: T,\n options: Omit<DocumentWriteParameters, \"action\"> | UpdateByFilterParameters = {},\n ): Promise<UpdateByFilterResponse | T> {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch<T>(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post<T>(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"emplace\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise<DeleteResponse<T>> {\n return this.apiCall.delete<DeleteResponse<T>>(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"createMany is deprecated and will be removed in a future version. Use import instead, which now takes both an array of documents or a JSONL string of documents\",\n );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise<string>;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise<ImportResponse<T>[]>;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise<string | ImportResponse<T>[]> {\n // Set default value for throwOnFail if not provided\n const finalOptions = { throwOnFail: true, ...options };\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n if (documents.length === 0) {\n throw new RequestMalformed(\"No documents provided\");\n }\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${error}\n It looks like you have reached a Node.js limit that restricts the number of keys in an Object: https://stackoverflow.com/questions/9282869/are-there-limits-to-the-number-of-properties-in-a-javascript-object\n\n Please try reducing the number of keys in your document, or using CURL to import your data.\n `);\n }\n\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n if (isEmptyString(documentsInJSONLFormat)) {\n throw new RequestMalformed(\"No documents provided\");\n }\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest<string>(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: finalOptions,\n bodyParameters: documentsInJSONLFormat,\n additionalHeaders: { \"Content-Type\": \"text/plain\" },\n skipConnectionTimeout: true, // We never want to client-side-timeout on an import and retry, since imports are syncronous and we want to let them take as long as it takes to complete fully\n enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse<T>[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0 && finalOptions.throwOnFail) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n {\n documentsInJSONLFormat,\n options: finalOptions,\n failedItems,\n successCount: resultsInJSONFormat.length - failedItems.length,\n },\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise<ImportResponse<T>[]> {\n const finalOptions = { throwOnFail: true, ...options };\n \n const resultsInJSONLFormat = await this.apiCall.performRequest<string>(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: finalOptions,\n bodyParameters: readableStream,\n additionalHeaders: { \"Content-Type\": \"text/plain\" },\n skipConnectionTimeout: true, // We never want to client-side-timeout on an import and retry, since imports are syncronous and we want to let them take as long as it takes to complete fully\n enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse<T>[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0 && finalOptions.throwOnFail) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n {\n documentsInJSONLFormat: readableStream,\n options: finalOptions,\n failedItems,\n successCount: resultsInJSONFormat.length - failedItems.length,\n },\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise<string> {\n return this.apiCall.get<string>(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise<ReadStream> {\n return this.apiCall.get<ReadStream>(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n\nfunction isEmptyString(str: string | null | undefined): boolean {\n return str == null || str === \"\" || str.length === 0;\n}\n\n/**\n * @deprecated Import from './Types' instead\n */\nexport type {\n SearchParams,\n WriteableDocuments,\n SearchableDocuments,\n DropTokensMode,\n OperationMode,\n UnionArrayKeys,\n UnionArraySearchParams,\n ArraybleParams,\n ExtractBaseTypes,\n SearchResponseRequestParams,\n} from \"./Types\";\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport type { DocumentImportParameters, ImportResponse } from \"../Documents\";\nimport { ReadStream } from \"node:fs\";\n\ninterface ImportErrorPayload {\n documentsInJSONLFormat: string | ReadStream;\n options: DocumentImportParameters;\n failedItems: ImportResponse[];\n successCount: number;\n}\n\nexport default class ImportError extends TypesenseError {\n payload: ImportErrorPayload;\n importResults: ImportResponse[];\n constructor(\n message: string,\n importResults: ImportResponse[],\n payload: ImportErrorPayload,\n ) {\n super(message);\n this.importResults = importResults;\n this.payload = payload;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n httpBody?: string;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string, httpBody?: string, httpStatus?: number) {\n super(message);\n this.name = new.target.name;\n this.httpBody = httpBody;\n this.httpStatus = httpStatus;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise<HealthResponse> {\n return this.apiCall.get<HealthResponse>(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n actions: Actions[] | (string & {})[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n autodelete?: boolean;\n}\n\ntype CRUDActions = \"create\" | \"delete\" | \"get\" | \"list\" | \"*\";\ntype DocumentActionTypes =\n | \"search\"\n | \"get\"\n | \"create\"\n | \"upsert\"\n | \"update\"\n | \"delete\"\n | \"import\"\n | \"export\"\n | \"*\";\n\ntype CRUDFeatures =\n | \"collections\"\n | \"aliases\"\n | \"synonyms\"\n | \"overrides\"\n | \"stopwords\"\n | \"keys\"\n | \"analytics\"\n | \"analytics/rules\";\n\ntype FeatureActions = `${CRUDFeatures}:${CRUDActions}`;\ntype DocumentActions = `documents:${DocumentActionTypes}`;\ntype AnalyticsEventActions = \"analytics/events:create\";\ntype MiscActions = `${`metrics.json` | `stats.json` | `debug`}.list` | \"*\";\n\nexport type Actions =\n | FeatureActions\n | DocumentActions\n | AnalyticsEventActions\n | MiscActions;\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(\n private id: number,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<KeySchema> {\n return this.apiCall.get<KeySchema>(this.endpointPath());\n }\n\n async delete(): Promise<KeyDeleteSchema> {\n return this.apiCall.delete<KeyDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport type { DocumentSchema, SearchParams } from \"./Documents\";\nimport { normalizeArrayableParams } from \"./Utils\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams<\n T extends DocumentSchema,\n Infix extends string,\n> extends Partial<SearchParams<T, Infix>> {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise<KeySchema> {\n return this.apiCall.post<KeySchema>(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise<KeysRetrieveSchema> {\n return this.apiCall.get<KeysRetrieveSchema>(RESOURCEPATH);\n }\n\n generateScopedSearchKey<T extends DocumentSchema, const Infix extends string>(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams<T, Infix>,\n ): string {\n // Note: only a key generated with the `documents:search` action will be\n // accepted by the server, when used with the search endpoint.\n const normalizedParams = normalizeArrayableParams<\n T,\n SearchParams<T, Infix>,\n Infix\n >(parameters);\n const paramsJSON = JSON.stringify(normalizedParams);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\"),\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise<MetricsResponse> {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import type ApiCall from \"./ApiCall\";\nimport type Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport type {\n DocumentSchema,\n ExtractBaseTypes,\n SearchOptions,\n SearchParams,\n SearchResponse,\n} from \"./Documents\";\nimport { normalizeArrayableParams } from \"./Utils\";\nimport type {\n MultiSearchRequestsSchema,\n MultiSearchRequestsWithUnionSchema,\n MultiSearchResponse,\n MultiSearchUnionParameters,\n MultiSearchResultsParameters,\n UnionSearchResponse,\n MultiSearchRequestsWithoutUnionSchema,\n} from \"./Types\";\nimport { Logger } from \"loglevel\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n readonly logger: Logger;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false,\n ) {\n this.requestWithCache = new RequestWithCache();\n this.logger = this.apiCall.logger;\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform<\n const T extends DocumentSchema[] = [],\n const Infix extends string = string,\n >(\n searchRequests: MultiSearchRequestsWithUnionSchema<T[number], Infix>,\n commonParams?: MultiSearchUnionParameters<T[number], Infix>,\n options?: SearchOptions,\n ): Promise<UnionSearchResponse<T[number]>>;\n\n async perform<\n const T extends DocumentSchema[] = [],\n const Infix extends string = string,\n >(\n searchRequests: MultiSearchRequestsWithoutUnionSchema<T[number], Infix>,\n commonParams?: MultiSearchResultsParameters<T, Infix>,\n options?: SearchOptions,\n ): Promise<{\n results: { [Index in keyof T]: SearchResponse<T[Index]> } & {\n length: T[\"length\"];\n };\n }>;\n\n async perform<\n const T extends DocumentSchema[] = [],\n const Infix extends string = string,\n >(\n searchRequests: MultiSearchRequestsSchema<T[number], Infix>,\n commonParams?:\n | MultiSearchUnionParameters<T[number], Infix>\n | MultiSearchResultsParameters<T, Infix>,\n options?: SearchOptions,\n ): Promise<MultiSearchResponse<T, Infix>> {\n const params = commonParams ? { ...commonParams } : {};\n const cacheSearchResultsForSeconds =\n options?.cacheSearchResultsForSeconds ??\n this.configuration.cacheSearchResultsForSeconds;\n\n if (this.configuration.useServerSideSearchCache === true) {\n params.use_cache = true;\n }\n\n if (searchRequests.union === true && this.hasAnySearchObjectPagination(searchRequests)) {\n this.logger.warn(\n \"Individual `searches` pagination parameters are ignored when `union: true` is set. Use a top-level pagination parameter instead. See https://typesense.org/docs/29.0/api/federated-multi-search.html#union-search\"\n );\n }\n\n const normalizedSearchRequests: Omit<typeof searchRequests, \"searches\"> & {\n remove_duplicates?: boolean;\n searches: ExtractBaseTypes<SearchParams<T[number], Infix>>[];\n } = {\n union: searchRequests.union,\n remove_duplicates:\n \"remove_duplicates\" in searchRequests\n ? searchRequests.remove_duplicates\n : undefined,\n searches: searchRequests.searches.map(\n normalizeArrayableParams<\n T[number],\n SearchParams<T[number], Infix>,\n Infix\n >,\n ),\n };\n\n const { streamConfig, ...paramsWithoutStream } = params;\n const normalizedQueryParams = normalizeArrayableParams(\n paramsWithoutStream as SearchParams<T[number], Infix>,\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n \"post\",\n {\n path: RESOURCEPATH,\n body: normalizedSearchRequests,\n queryParams: normalizedQueryParams,\n headers: this.useTextContentType\n ? { \"content-type\": \"text/plain\" }\n : {},\n streamConfig,\n abortSignal: options?.abortSignal,\n isStreamingRequest: this.isStreamingRequest(params),\n },\n cacheSearchResultsForSeconds !== undefined\n ? { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n : undefined,\n );\n }\n\n private isStreamingRequest(commonParams: { conversation_stream?: boolean }) {\n return commonParams.conversation_stream === true;\n }\n\n private hasAnySearchObjectPagination(searchRequests: MultiSearchRequestsSchema<DocumentSchema, string>) {\n return searchRequests.searches.some(search => search.page !== undefined || search.per_page !== undefined || search.offset !== undefined || search.limit !== undefined || search.limit_hits !== undefined);\n }\n}\n\nexport type {\n MultiSearchRequestsSchema,\n MultiSearchRequestsWithUnionSchema,\n MultiSearchResponse,\n MultiSearchUnionParameters,\n MultiSearchResultsParameters,\n UnionSearchResponse,\n MultiSearchRequestsWithoutUnionSchema,\n} from \"./Types\";\n","import ApiCall from \"./ApiCall\";\nimport NLSearchModels from \"./NLSearchModels\";\nimport type { NLSearchModelBase, NLSearchModelSchema } from \"./NLSearchModels\";\n\ntype NLSearchModelUpdateSchema = NLSearchModelBase;\n\nexport interface NLSearchModelDeleteSchema {\n id: string;\n}\n\nexport default class NLSearchModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<NLSearchModelSchema> {\n return this.apiCall.get<NLSearchModelSchema>(this.endpointPath());\n }\n\n async update(\n schema: NLSearchModelUpdateSchema,\n ): Promise<NLSearchModelSchema> {\n return this.apiCall.put<NLSearchModelSchema>(this.endpointPath(), schema);\n }\n\n async delete(): Promise<NLSearchModelDeleteSchema> {\n return this.apiCall.delete<NLSearchModelDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${NLSearchModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/nl_search_models\";\n\n// Base schema with all possible fields\nexport interface NLSearchModelBase {\n model_name: string;\n api_key?: string;\n api_url?: string;\n max_bytes?: number;\n temperature?: number;\n system_prompt?: string;\n // Google-specific parameters\n top_p?: number;\n top_k?: number;\n stop_sequences?: string[];\n api_version?: string;\n // GCP Vertex AI specific\n project_id?: string;\n access_token?: string;\n refresh_token?: string;\n client_id?: string;\n client_secret?: string;\n region?: string;\n max_output_tokens?: number;\n // Cloudflare specific\n account_id?: string;\n}\n\nexport interface NLSearchModelCreateSchema extends NLSearchModelBase {\n id?: string;\n}\n\nexport interface NLSearchModelSchema extends NLSearchModelBase {\n id: string;\n}\n\nexport type NLSearchModelsRetrieveSchema = NLSearchModelSchema[];\n\nexport default class NLSearchModels {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: NLSearchModelCreateSchema,\n ): Promise<NLSearchModelSchema> {\n return this.apiCall.post<NLSearchModelSchema>(this.endpointPath(), schema);\n }\n\n async retrieve(): Promise<NLSearchModelsRetrieveSchema> {\n return this.apiCall.get<NLSearchModelsRetrieveSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return NLSearchModels.RESOURCEPATH;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport interface SchemaChangeStatus {\n collection: string;\n validated_docs: number;\n altered_docs: number;\n}\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName:\n | \"vote\"\n | \"snapshot\"\n | \"cache/clear\"\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- Can't use `object` here, it needs to intersect with `{}`\n | (string & {}),\n queryParameters: Record<string, any> = {},\n ): Promise<any> {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters,\n );\n }\n\n async getSchemaChanges(): Promise<SchemaChangeStatus[]> {\n return this.apiCall.get<SchemaChangeStatus[]>(\n `${RESOURCEPATH}/schema_changes`,\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise<OverrideSchema> {\n return this.apiCall.get<OverrideSchema>(this.endpointPath());\n }\n\n async delete(): Promise<OverrideDeleteSchema> {\n return this.apiCall.delete<OverrideDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise<OverrideSchema> {\n return this.apiCall.put<OverrideSchema>(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise<OverridesRetrieveSchema> {\n return this.apiCall.get<OverridesRetrieveSchema>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { DocumentSchema } from \"./Documents\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema<T extends DocumentSchema>\n extends PresetCreateSchema<T, string> {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(\n private presetId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve<T extends DocumentSchema>(): Promise<PresetSchema<T>> {\n return this.apiCall.get<PresetSchema<T>>(this.endpointPath());\n }\n\n async delete(): Promise<PresetDeleteSchema> {\n return this.apiCall.delete<PresetDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport type { DocumentSchema, SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\nimport { normalizeArrayableParams } from \"./Utils\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema<\n T extends DocumentSchema,\n Infix extends string,\n> {\n value: SearchParams<T, Infix> | MultiSearchRequestsSchema<T, Infix>;\n}\n\nexport interface PresetsRetrieveSchema<T extends DocumentSchema> {\n presets: PresetSchema<T>[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert<T extends DocumentSchema, const Infix extends string>(\n presetId: string,\n params: PresetCreateSchema<T, Infix>,\n ): Promise<PresetSchema<T>> {\n if (typeof params.value === \"object\" && \"searches\" in params.value) {\n const normalizedParams = params.value.searches.map((search) =>\n normalizeArrayableParams<T, SearchParams<T, Infix>, Infix>(search),\n );\n\n return this.apiCall.put<PresetSchema<T>>(this.endpointPath(presetId), {\n value: { searches: normalizedParams },\n });\n }\n const normalizedParams = normalizeArrayableParams<\n T,\n SearchParams<T, Infix>,\n Infix\n >(params.value);\n\n return this.apiCall.put<PresetSchema<T>>(this.endpointPath(presetId), {\n value: normalizedParams,\n });\n }\n\n async retrieve<T extends DocumentSchema>(): Promise<\n PresetsRetrieveSchema<T>\n > {\n return this.apiCall.get<PresetsRetrieveSchema<T>>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import { AxiosRequestConfig } from \"axios\";\nimport type { DocumentSchema } from \"./Documents\";\nimport { HttpClient } from \"./ApiCall\";\nimport type { RequestParams } from \"./Types\";\n\nconst defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\ninterface CacheEntry<T> {\n requestTimestamp: number;\n response: T;\n}\n\ninterface PromiseCacheEntry<T> {\n requestTimestamp: number;\n responsePromise: Promise<T>;\n}\n\nexport default class RequestWithCache {\n private responseCache: Map<string, CacheEntry<unknown>> = new Map();\n private responsePromiseCache: Map<string, PromiseCacheEntry<unknown>> =\n new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n async perform<\n const TContext extends HttpClient,\n const TMethod extends keyof HttpClient,\n const TDoc extends DocumentSchema[],\n TResult,\n >(\n requestContext: TContext,\n methodName: TMethod,\n requestParams: RequestParams<TDoc>,\n cacheOptions: CacheOptions | undefined,\n ): Promise<TResult> {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions || {};\n const isCacheDisabled =\n cacheOptions === undefined ||\n cacheResponseForSeconds <= 0 ||\n maxSize <= 0;\n\n const {\n path,\n queryParams,\n body,\n headers,\n streamConfig,\n abortSignal,\n responseType,\n isStreamingRequest,\n } = requestParams;\n\n if (isCacheDisabled) {\n return this.executeRequest<TResult>(\n requestContext,\n methodName,\n path,\n queryParams,\n body,\n headers,\n { abortSignal, responseType, streamConfig, isStreamingRequest },\n );\n }\n\n const requestParamsJSON = JSON.stringify(requestParams);\n const cacheEntry = this.responseCache.get(requestParamsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestParamsJSON);\n this.responseCache.set(requestParamsJSON, cacheEntry);\n return cacheEntry.response as TResult;\n } else {\n this.responseCache.delete(requestParamsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(requestParamsJSON);\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestParamsJSON);\n this.responsePromiseCache.set(requestParamsJSON, cachePromiseEntry);\n return cachePromiseEntry.responsePromise as Promise<TResult>;\n } else {\n this.responsePromiseCache.delete(requestParamsJSON);\n }\n }\n\n const responsePromise = this.executeRequest<TResult>(\n requestContext,\n methodName,\n path,\n queryParams,\n body,\n headers,\n { abortSignal, responseType, streamConfig, isStreamingRequest },\n );\n\n this.responsePromiseCache.set(requestParamsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestParamsJSON, {\n requestTimestamp: now,\n response: response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n if (oldestEntry) {\n this.responseCache.delete(oldestEntry);\n }\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n if (oldestEntry) {\n this.responsePromiseCache.delete(oldestEntry);\n }\n }\n return response;\n }\n\n private executeRequest<TResult>(\n context: HttpClient,\n methodName: keyof HttpClient,\n path: string,\n queryParams: Record<string, unknown> = {},\n body?: unknown,\n headers?: Record<string, string>,\n options?: {\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"];\n streamConfig?: any;\n isStreamingRequest: boolean | undefined;\n },\n ): Promise<TResult> {\n const method = context[methodName];\n\n switch (methodName) {\n case \"get\":\n return (method as HttpClient[\"get\"]).call(context, path, queryParams, {\n abortSignal: options?.abortSignal,\n responseType: options?.responseType,\n streamConfig: options?.streamConfig,\n isStreamingRequest: options?.isStreamingRequest,\n }) as Promise<TResult>;\n\n case \"delete\":\n return (method as HttpClient[\"delete\"]).call(\n context,\n path,\n queryParams,\n ) as Promise<TResult>;\n\n case \"post\":\n return (method as HttpClient[\"post\"]).call(\n context,\n path,\n body,\n queryParams,\n headers || {},\n {\n abortSignal: options?.abortSignal,\n responseType: options?.responseType,\n streamConfig: options?.streamConfig,\n isStreamingRequest: options?.isStreamingRequest,\n },\n ) as Promise<TResult>;\n\n case \"put\":\n case \"patch\":\n return (method as HttpClient[typeof methodName]).call(\n context,\n path,\n body,\n queryParams,\n ) as Promise<TResult>;\n\n default:\n throw new Error(`Unsupported method: ${String(methodName)}`);\n }\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n\nexport type { RequestParams } from \"./Types\";\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record<\n string,\n SearchOnlyCollection<DocumentSchema>\n >;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections<TDocumentSchema extends DocumentSchema>(\n collectionName: string,\n ): SearchOnlyCollection<TDocumentSchema> {\n if (!collectionName) {\n throw new Error(\n \"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\"\n );\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new SearchOnlyCollection(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[\n collectionName\n ] as SearchOnlyCollection<TDocumentSchema>;\n }\n }\n}\n","import type { DocumentSchema } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\nimport type { SearchableDocuments } from \"./Types\";\n\nexport class SearchOnlyCollection<T extends DocumentSchema> {\n private readonly _documents: SearchableDocuments<T>;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments<T> {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchOptions,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\nimport { normalizeArrayableParams } from \"./Utils\";\nimport { SearchableDocuments, SearchParams } from \"./Types\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments<T extends DocumentSchema>\n implements SearchableDocuments<T>\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration,\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search<const Infix extends string>(\n searchParameters: SearchParams<T, Infix> | SearchParamsWithPreset<T, Infix>,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {},\n ): Promise<SearchResponse<T>> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n\n const { streamConfig, ...rest } = normalizeArrayableParams<\n T,\n SearchParams<T, Infix>,\n Infix\n >(searchParameters);\n\n const queryParams = {\n ...additionalQueryParams,\n ...rest,\n };\n\n const isStreamingRequest = queryParams.conversation_stream === true;\n\n return this.requestWithCache.perform<\n ApiCall,\n \"get\",\n [T],\n SearchResponse<T>\n >(\n this.apiCall,\n \"get\",\n {\n path: this.endpointPath(\"search\"),\n queryParams,\n streamConfig,\n abortSignal,\n isStreamingRequest,\n },\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n },\n );\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise<StatsResponse> {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import type ApiCall from \"./ApiCall\";\nimport StemmingDictionaries from \"./StemmingDictionaries\";\nimport StemmingDictionary from \"./StemmingDictionary\";\n\nconst RESOURCEPATH = \"/stemming\";\n\nexport default class Stemming {\n private readonly _stemmingDictionaries: StemmingDictionaries;\n private readonly individualStemmingDictionaries: Record<\n string,\n StemmingDictionary\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._stemmingDictionaries = new StemmingDictionaries(this.apiCall);\n }\n\n dictionaries(): StemmingDictionaries;\n dictionaries(id: string): StemmingDictionary;\n dictionaries(id?: string): StemmingDictionaries | StemmingDictionary {\n if (id === undefined) {\n return this._stemmingDictionaries;\n } else {\n if (this.individualStemmingDictionaries[id] === undefined) {\n this.individualStemmingDictionaries[id] = new StemmingDictionary(\n id,\n this.apiCall,\n );\n }\n return this.individualStemmingDictionaries[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport type { StemmingDictionaryCreateSchema } from \"./StemmingDictionary\";\n\nconst RESOURCEPATH = \"/stemming/dictionaries\";\n\nexport interface StemmingDictionariesRetrieveSchema {\n dictionaries: string[];\n}\n\nexport default class StemmingDictionaries {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n id: string,\n wordRootCombinations: StemmingDictionaryCreateSchema[] | string,\n ): Promise<StemmingDictionaryCreateSchema[] | string> {\n const wordRootCombinationsInJSONLFormat = Array.isArray(\n wordRootCombinations,\n )\n ? wordRootCombinations.map((combo) => JSON.stringify(combo)).join(\"\\n\")\n : wordRootCombinations;\n\n const resultsInJSONLFormat = await this.apiCall.performRequest<string>(\n\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: {id},\n bodyParameters: wordRootCombinationsInJSONLFormat,\n additionalHeaders: {\"Content-Type\": \"text/plain\"},\n skipConnectionTimeout: true,\n }\n );\n\n return Array.isArray(wordRootCombinations)\n ? resultsInJSONLFormat\n .split(\"\\n\")\n .map((line) => JSON.parse(line) as StemmingDictionaryCreateSchema)\n : resultsInJSONLFormat;\n }\n\n async retrieve(): Promise<StemmingDictionariesRetrieveSchema> {\n return this.apiCall.get<StemmingDictionariesRetrieveSchema>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return operation === undefined\n ? `${StemmingDictionaries.RESOURCEPATH}`\n : `${StemmingDictionaries.RESOURCEPATH}/${encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport StemmingDictionaries from \"./StemmingDictionaries\";\n\nexport interface StemmingDictionaryCreateSchema {\n root: string;\n word: string;\n}\n\nexport interface StemmingDictionarySchema {\n id: string;\n words: StemmingDictionaryCreateSchema[];\n}\n\nexport interface StemmingDictionaryDeleteSchema {\n id: string;\n}\n\nexport default class StemmingDictionary {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<StemmingDictionarySchema> {\n return this.apiCall.get<StemmingDictionarySchema>(this.endpointPath());\n }\n\n async delete(): Promise<StemmingDictionaryDeleteSchema> {\n return this.apiCall.delete<StemmingDictionaryDeleteSchema>(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${StemmingDictionaries.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords from \"./Stopwords\";\n\nexport interface StopwordSchema {\n id: string;\n stopwords: string[] | { id: string; stopwords: string[] };\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<StopwordSchema> {\n return this.apiCall.get<StopwordSchema>(this.endpointPath());\n }\n\n async delete(): Promise<StopwordDeleteSchema> {\n return this.apiCall.delete<StopwordDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise<StopwordSchema> {\n return this.apiCall.put<StopwordSchema>(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise<StopwordsRetrieveSchema> {\n return this.apiCall.get<StopwordsRetrieveSchema>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\n/**\n * @deprecated Deprecated starting with Typesense Server v30. Please migrate to `client.synonymSets` (new Synonym Sets APIs).\n */\nexport default class Synonym {\n private static hasWarnedDeprecation = false;\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise<SynonymSchema> {\n return this.apiCall.get<SynonymSchema>(this.endpointPath());\n }\n\n async delete(): Promise<SynonymDeleteSchema> {\n return this.apiCall.delete<SynonymDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n if (!Synonym.hasWarnedDeprecation) {\n // eslint-disable-next-line no-console\n console.warn(\n \"[typesense] 'synonym' APIs are deprecated starting with Typesense Server v30. Please migrate to synonym sets 'synonym_sets'.\",\n );\n Synonym.hasWarnedDeprecation = true;\n }\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport SynonymSets from \"./SynonymSets\";\nimport type { SynonymSetCreateSchema, SynonymSetSchema } from \"./SynonymSets\";\nimport SynonymSetItems from \"./SynonymSetItems\";\nimport SynonymSetItem from \"./SynonymSetItem\";\n\nexport interface SynonymSetDeleteSchema {\n name: string;\n}\n\nexport type SynonymSetRetrieveSchema = SynonymSetCreateSchema;\n\nexport default class SynonymSet {\n private readonly _items: SynonymSetItems;\n private individualItems: Record<string, SynonymSetItem> = {};\n constructor(\n private synonymSetName: string,\n private apiCall: ApiCall,\n ) {\n this._items = new SynonymSetItems(this.synonymSetName, apiCall);\n }\n\n async upsert(\n params: SynonymSetCreateSchema,\n ): Promise<SynonymSetCreateSchema> {\n return this.apiCall.put<SynonymSetSchema>(this.endpointPath(), params);\n }\n\n async retrieve(): Promise<SynonymSetRetrieveSchema> {\n return this.apiCall.get<SynonymSetRetrieveSchema>(this.endpointPath());\n }\n\n async delete(): Promise<SynonymSetDeleteSchema> {\n return this.apiCall.delete<SynonymSetDeleteSchema>(this.endpointPath());\n }\n\n items(): SynonymSetItems;\n items(itemId: string): SynonymSetItem;\n items(itemId?: string): SynonymSetItems | SynonymSetItem {\n if (itemId === undefined) {\n return this._items;\n } else {\n if (this.individualItems[itemId] === undefined) {\n this.individualItems[itemId] = new SynonymSetItem(\n this.synonymSetName,\n itemId,\n this.apiCall,\n );\n }\n return this.individualItems[itemId];\n }\n }\n\n private endpointPath(): string {\n return `${SynonymSets.RESOURCEPATH}/${encodeURIComponent(this.synonymSetName)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport SynonymSets, { SynonymItemSchema } from \"./SynonymSets\";\n\nexport interface SynonymSetItemDeleteSchema {\n id: string;\n}\n\nexport default class SynonymSetItem {\n constructor(\n private synonymSetName: string,\n private itemId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise<SynonymItemSchema> {\n return this.apiCall.get<SynonymItemSchema>(this.endpointPath());\n }\n\n async delete(): Promise<SynonymSetItemDeleteSchema> {\n return this.apiCall.delete<SynonymSetItemDeleteSchema>(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${SynonymSets.RESOURCEPATH}/${encodeURIComponent(this.synonymSetName)}/items/${encodeURIComponent(this.itemId)}`;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\nimport SynonymSets, { SynonymItemSchema } from \"./SynonymSets\";\n\nexport default class SynonymSetItems {\n constructor(\n private synonymSetName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n itemId: string,\n params: Omit<SynonymItemSchema, \"id\">,\n ): Promise<SynonymItemSchema> {\n return this.apiCall.put<SynonymItemSchema>(\n this.endpointPath(itemId),\n params,\n );\n }\n\n async retrieve(): Promise<SynonymItemSchema[]> {\n return this.apiCall.get<SynonymItemSchema[]>(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${SynonymSets.RESOURCEPATH}/${encodeURIComponent(this.synonymSetName)}/items${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n}\n\n\n","import ApiCall from \"./ApiCall\";\n\nexport interface SynonymItemSchema {\n id: string;\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymSetCreateSchema {\n items: SynonymItemSchema[];\n}\n\nexport interface SynonymSetSchema extends SynonymSetCreateSchema {\n name: string;\n}\n\nexport interface SynonymSetsRetrieveSchema {\n synonym_sets: SynonymSetSchema[];\n}\n\nexport default class SynonymSets {\n constructor(private apiCall: ApiCall) {}\n static readonly RESOURCEPATH = \"/synonym_sets\";\n\n async retrieve(): Promise<SynonymSetSchema[]> {\n return this.apiCall.get<SynonymSetSchema[]>(SynonymSets.RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\n/**\n * @deprecated Deprecated starting with Typesense Server v30. Please migrate to `client.synonymSets` (new Synonym Sets APIs).\n */\nexport default class Synonyms {\n private static hasWarnedDeprecation = false;\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise<SynonymSchema> {\n return this.apiCall.put<SynonymSchema>(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise<SynonymsRetrieveSchema> {\n return this.apiCall.get<SynonymsRetrieveSchema>(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n if (!Synonyms.hasWarnedDeprecation) {\n // eslint-disable-next-line no-console\n console.warn(\n \"[typesense] 'synonyms' APIs are deprecated starting with Typesense Server v30. Please migrate to synonym sets ('synonym_sets').\",\n );\n Synonyms.hasWarnedDeprecation = true;\n }\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import type { AxiosRequestConfig } from \"axios\";\nimport type { BaseStreamConfig, StreamConfig } from \"./Configuration\";\nimport type {\n DocumentSchema,\n SearchParamsWithPreset,\n SearchOptions,\n SearchResponse,\n DocumentWriteParameters,\n DeleteQuery,\n DeleteResponse,\n ImportResponse,\n DocumentsExportParameters,\n} from \"./Documents\";\n\nexport type DropTokensMode = \"right_to_left\" | \"left_to_right\" | \"both_sides:3\";\n\nexport type OperationMode = \"off\" | \"always\" | \"fallback\";\n\nexport type CommaSeparated<\n T extends string,\n ToExtend,\n OriginalString extends string = T,\n Previous extends string[] = [],\n> = T extends `${infer Start},${infer Rest}`\n ? TrimString<Start> extends ToExtend\n ? CommaSeparated<\n Rest,\n ToExtend,\n OriginalString,\n [...Previous, TrimString<Start>]\n >\n : {\n error: \"Invalid operation mode\";\n value: TrimString<Start>;\n }\n : TrimString<T> extends ToExtend\n ? OriginalString\n : {\n error: \"Invalid operation mode\";\n value: TrimString<T>;\n };\n\nexport type MessageChunk = {\n message: string;\n conversation_id: string;\n};\n\nexport type UnionArrayKeys<T> = {\n [K in keyof T]: T[K] extends undefined\n ? never\n : NonNullable<T[K]> extends infer R\n ? R extends R[]\n ? never\n : R extends (infer U)[] | infer U\n ? U[] extends R\n ? K\n : never\n : never\n : never;\n}[keyof T] &\n keyof T;\n\nexport type UnionArraySearchParams<T extends DocumentSchema = DocumentSchema> =\n UnionArrayKeys<T>;\n\nexport type ArraybleParams<T extends DocumentSchema = DocumentSchema> = {\n readonly [K in UnionArraySearchParams<T>]: string;\n};\n\nexport type ExtractBaseTypes<T> = {\n [K in keyof T]: K extends UnionArrayKeys<T>\n ? T[K] extends (infer U)[] | infer U\n ? U\n : T[K]\n : T[K];\n};\n\nexport const arrayableParams: ArraybleParams = {\n query_by: \"query_by\",\n query_by_weights: \"query_by_weights\",\n facet_by: \"facet_by\",\n group_by: \"group_by\",\n include_fields: \"include_fields\",\n exclude_fields: \"exclude_fields\",\n highlight_fields: \"highlight_fields\",\n highlight_full_fields: \"highlight_full_fields\",\n pinned_hits: \"pinned_hits\",\n hidden_hits: \"hidden_hits\",\n infix: \"infix\",\n override_tags: \"override_tags\",\n num_typos: \"num_typos\",\n prefix: \"prefix\",\n synonym_sets: \"synonym_sets\",\n sort_by: \"sort_by\",\n};\n\nexport interface SearchParams<\n TDoc extends DocumentSchema,\n Infix extends string = string,\n> {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- Can't use `object` here, it needs to intersect with `{}`\n q?: \"*\" | (string & {});\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n max_filter_by_candidates?: number; // default: 4\n enable_synonyms?: boolean; // default: true\n enable_analytics?: boolean; // default: true\n filter_curated_hits?: boolean; // default: false\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n facet_strategy?: \"exhaustive\" | \"top_values\" | \"automatic\";\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: <mark>\n highlight_end_tag?: string; // default: </mark>\n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n nl_query?: boolean;\n nl_model_id?: string;\n nl_query_debug?: boolean;\n nl_query_prompt_cache_ttl?: number;\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n synonym_sets?: string[] | string;\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?:\n | CommaSeparated<Infix, OperationMode>\n | OperationMode[]\n | OperationMode;\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\" | \"sum_score\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n validate_field_names?: boolean;\n conversation_stream?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n streamConfig?: StreamConfig<TDoc>;\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\nexport interface SearchableDocuments<\n T extends DocumentSchema = DocumentSchema,\n Infix extends string = string,\n> {\n search(\n searchParameters: SearchParams<T, Infix> | SearchParamsWithPreset<T, Infix>,\n options: SearchOptions,\n ): Promise<SearchResponse<T>>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments<T> {\n create(\n document: T,\n options: Omit<DocumentWriteParameters, \"action\">,\n ): Promise<T>;\n upsert(\n document: T,\n options: Omit<DocumentWriteParameters, \"action\">,\n ): Promise<T>;\n update(\n document: T,\n options: Omit<DocumentWriteParameters, \"action\">,\n ): Promise<T>;\n emplace(\n document: T,\n options: Omit<DocumentWriteParameters, \"action\">,\n ): Promise<T>;\n delete(query: DeleteQuery): Promise<DeleteResponse>;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise<string | ImportResponse[]>;\n export(options: DocumentsExportParameters): Promise<string>;\n}\n\nexport interface MultiSearchUnionStreamConfig<T extends DocumentSchema>\n extends BaseStreamConfig {\n onComplete?: (data: UnionSearchResponse<T>) => void;\n}\n\nexport interface MultiSearchResultsStreamConfig<T extends DocumentSchema[]>\n extends BaseStreamConfig {\n onComplete?: (data: {\n results: { [Index in keyof T]: SearchResponse<T[Index]> } & {\n length: T[\"length\"];\n };\n }) => void;\n}\nexport interface RequestParams<T extends DocumentSchema[]> {\n path: string;\n queryParams?: Record<string, unknown>;\n body?: unknown;\n headers?: Record<string, string>;\n streamConfig?:\n | StreamConfig<T[number]>\n | MultiSearchResultsStreamConfig<T>\n | MultiSearchUnionStreamConfig<T[number]>;\n abortSignal?: AbortSignal | null;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n isStreamingRequest: boolean | undefined;\n}\n\nexport interface MultiSearchRequestsWithUnionSchema<\n T extends DocumentSchema,\n Infix extends string,\n> extends SearchesMultiSearchesRequestSchema<T, Infix> {\n union: true;\n remove_duplicates?: boolean;\n}\n\nexport interface MultiSearchRequestsWithoutUnionSchema<\n T extends DocumentSchema,\n Infix extends string,\n> extends SearchesMultiSearchesRequestSchema<T, Infix> {\n union?: false | undefined;\n}\n\nexport type MultiSearchRequestsSchema<\n T extends DocumentSchema,\n Infix extends string,\n> =\n | MultiSearchRequestsWithUnionSchema<T, Infix>\n | MultiSearchRequestsWithoutUnionSchema<T, Infix>;\n\nexport interface UnionSearchResponse<T extends DocumentSchema>\n extends Omit<SearchResponse<T>, \"request_params\"> {\n union_request_params: UnionSearchResponseRequestParams[];\n}\n\ntype AllRequiredBut<T, K extends keyof T> = Required<Omit<T, K>> & Pick<T, K>;\n\nexport interface UnionSearchResponseRequestParams\n extends AllRequiredBut<SearchResponseRequestParams, \"voice_query\"> {\n found: number;\n}\n\nexport type MultiSearchResponse<\n T extends DocumentSchema[],\n Infix extends string,\n R extends MultiSearchRequestsSchema<\n T[number],\n Infix\n > = MultiSearchRequestsSchema<T[number], Infix>,\n> =\n R extends MultiSearchRequestsWithUnionSchema<T[number], Infix>\n ? UnionSearchResponse<T[number]>\n : {\n results: { [Index in keyof T]: SearchResponse<T[Index]> } & {\n length: T[\"length\"];\n };\n };\n\nexport interface MultiSearchUnionStreamConfig<T extends DocumentSchema>\n extends BaseStreamConfig {\n onComplete?: (data: UnionSearchResponse<T>) => void;\n}\n\nexport interface MultiSearchResultsStreamConfig<T extends DocumentSchema[]>\n extends BaseStreamConfig {\n onComplete?: (data: {\n results: { [Index in keyof T]: SearchResponse<T[Index]> } & {\n length: T[\"length\"];\n };\n }) => void;\n}\n\ninterface SearchesMultiSearchesRequestSchema<\n T extends DocumentSchema,\n Infix extends string,\n> {\n searches: (\n | MultiSearchRequestSchema<T, Infix>\n | MultiSearchRequestWithPresetSchema<T, Infix>\n )[];\n}\n\ninterface BaseMultiSearchRequestSchema {\n collection?: string;\n rerank_hybrid_matches?: boolean;\n \"x-typesense-api-key\"?: string;\n}\n\ntype CommonMultiSearchParametersBase<\n T extends DocumentSchema,\n Infix extends string,\n> = Partial<\n BaseMultiSearchRequestSchema & Omit<SearchParams<T, Infix>, \"streamConfig\">\n>;\n\nexport type MultiSearchRequestSchema<\n T extends DocumentSchema,\n Infix extends string,\n> = BaseMultiSearchRequestSchema & Omit<SearchParams<T, Infix>, \"streamConfig\">;\n\nexport type MultiSearchRequestWithPresetSchema<\n T extends DocumentSchema,\n Infix extends string,\n> = BaseMultiSearchRequestSchema &\n Omit<SearchParamsWithPreset<T, Infix>, \"streamConfig\">;\n\nexport type MultiSearchUnionParameters<\n T extends DocumentSchema,\n Infix extends string,\n> = CommonMultiSearchParametersBase<T, Infix> & {\n streamConfig?: MultiSearchUnionStreamConfig<T>;\n use_cache?: boolean;\n};\n\nexport type MultiSearchResultsParameters<\n T extends DocumentSchema[],\n Infix extends string,\n> = CommonMultiSearchParametersBase<T[number], Infix> & {\n streamConfig?: MultiSearchResultsStreamConfig<T>;\n use_cache?: boolean;\n};\n\ntype Whitespace = \" \" | \"\\n\" | \"\\t\";\n\ntype TrimString<S extends string> = S extends `${Whitespace}${infer S}`\n ? TrimString<S>\n : S extends `${infer S}${Whitespace}`\n ? TrimString<S>\n : S;\n","import { DocumentSchema } from \"./Documents\";\nimport { arrayableParams } from \"./Types\";\nimport type { UnionArrayKeys, ExtractBaseTypes, SearchParams } from \"./Types\";\n\nfunction hasNoArrayValues<\n TDoc extends DocumentSchema,\n T extends SearchParams<TDoc, Infix>,\n const Infix extends string,\n>(params: T | ExtractBaseTypes<T>): params is ExtractBaseTypes<T> {\n return Object.keys(arrayableParams)\n .filter((key) => params[key] !== undefined)\n .every((key) => isNonArrayValue(params[key]));\n}\n\nexport function normalizeArrayableParams<\n TDoc extends DocumentSchema,\n T extends SearchParams<TDoc, Infix>,\n const Infix extends string,\n>(params: T): Prettify<ExtractBaseTypes<T>> {\n const result = { ...params };\n\n const transformedValues = Object.keys(arrayableParams)\n .filter((key) => Array.isArray(result[key]))\n .map((key) => {\n result[key] = result[key].join(\",\");\n return key;\n });\n\n if (!transformedValues.length && hasNoArrayValues<TDoc, T, Infix>(result)) {\n return result;\n }\n\n if (!hasNoArrayValues<TDoc, T, Infix>(result)) {\n throw new Error(\n `Failed to normalize arrayable params: ${JSON.stringify(result)}`,\n );\n }\n\n return result;\n}\n\nfunction isNonArrayValue<\n TDoc extends DocumentSchema,\n T extends SearchParams<TDoc, Infix>,\n const Infix extends string,\n K extends UnionArrayKeys<T>,\n>(value: T[K] | ExtractBaseTypes<T>[K]): value is ExtractBaseTypes<T>[K] {\n return !Array.isArray(value);\n}\n\ntype Prettify<T> = {\n [K in keyof T]: T[K];\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n} & {};\n\ninterface ErrorWithMessage extends Error {\n message: string;\n}\n\nfunction isErrorWithMessage(error: unknown): error is ErrorWithMessage {\n return (\n typeof error === \"object\" &&\n error !== null &&\n \"message\" in error &&\n typeof (error as Record<string, unknown>).message === \"string\"\n );\n}\n\nexport function toErrorWithMessage(couldBeError: unknown): ErrorWithMessage {\n if (isErrorWithMessage(couldBeError)) return couldBeError;\n\n try {\n if (typeof couldBeError === \"string\") {\n return new Error(couldBeError);\n }\n return new Error(JSON.stringify(couldBeError));\n } catch {\n return new Error(String(couldBeError));\n }\n}\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n var _loggersByName = {};\n var defaultLogger = null;\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, _level, _loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n function normalizeLevel(input) {\n var level = input;\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name,\n defaultLogger.methodFactory\n );\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction _regenerator() {\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\n var e,\n t,\n r = \"function\" == typeof Symbol ? Symbol : {},\n n = r.iterator || \"@@iterator\",\n o = r.toStringTag || \"@@toStringTag\";\n function i(r, n, o, i) {\n var c = n && n.prototype instanceof Generator ? n : Generator,\n u = Object.create(c.prototype);\n return regeneratorDefine(u, \"_invoke\", function (r, n, o) {\n var i,\n c,\n u,\n f = 0,\n p = o || [],\n y = !1,\n G = {\n p: 0,\n n: 0,\n v: e,\n a: d,\n f: d.bind(e, 4),\n d: function d(t, r) {\n return i = t, c = 0, u = e, G.n = r, a;\n }\n };\n function d(r, n) {\n for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {\n var o,\n i = p[t],\n d = G.p,\n l = i[2];\n r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));\n }\n if (o || r > 1) return a;\n throw y = !0, n;\n }\n return function (o, p, l) {\n if (f > 1) throw TypeError(\"Generator is already running\");\n for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {\n i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);\n try {\n if (f = 2, i) {\n if (c || (o = \"next\"), t = i[o]) {\n if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\");\n if (!t.done) return t;\n u = t.value, c < 2 && (c = 0);\n } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1);\n i = e;\n } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;\n } catch (t) {\n i = e, c = 1, u = t;\n } finally {\n f = 1;\n }\n }\n return {\n value: t,\n done: y\n };\n };\n }(r, o, i), !0), u;\n }\n var a = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n t = Object.getPrototypeOf;\n var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () {\n return this;\n }), t),\n u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);\n function f(e) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e;\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, \"constructor\", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", regeneratorDefine(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), regeneratorDefine(u), regeneratorDefine(u, o, \"Generator\"), regeneratorDefine(u, n, function () {\n return this;\n }), regeneratorDefine(u, \"toString\", function () {\n return \"[object Generator]\";\n }), (module.exports = _regenerator = function _regenerator() {\n return {\n w: i,\n m: f\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nfunction _regeneratorAsync(n, e, r, t, o) {\n var a = regeneratorAsyncGen(n, e, r, t, o);\n return a.next().then(function (n) {\n return n.done ? n.value : a.next();\n });\n}\nmodule.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regenerator = require(\"./regenerator.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nfunction _regeneratorAsyncGen(r, e, t, o, n) {\n return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);\n}\nmodule.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction AsyncIterator(t, e) {\n function n(r, o, i, f) {\n try {\n var c = t[r](o),\n u = c.value;\n return u instanceof OverloadYield ? e.resolve(u.v).then(function (t) {\n n(\"next\", t, i, f);\n }, function (t) {\n n(\"throw\", t, i, f);\n }) : e.resolve(u).then(function (t) {\n c.value = t, i(c);\n }, function (t) {\n return n(\"throw\", t, i, f);\n });\n } catch (t) {\n f(t);\n }\n }\n var r;\n this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, \"function\" == typeof Symbol && Symbol.asyncIterator || \"@asyncIterator\", function () {\n return this;\n })), regeneratorDefine(this, \"_invoke\", function (t, o, i) {\n function f() {\n return new e(function (e, r) {\n n(t, i, e, r);\n });\n }\n return r = r ? r.then(f, f) : f();\n }, !0);\n}\nmodule.exports = AsyncIterator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorDefine(e, r, n, t) {\n var i = Object.defineProperty;\n try {\n i({}, \"\", {});\n } catch (e) {\n i = 0;\n }\n module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {\n function o(r, n) {\n _regeneratorDefine(e, r, function (e) {\n return this._invoke(r, n, e);\n });\n }\n r ? i ? i(e, r, {\n value: n,\n enumerable: !t,\n configurable: !t,\n writable: !t\n }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2));\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _regeneratorDefine(e, r, n, t);\n}\nmodule.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorKeys(e) {\n var n = Object(e),\n r = [];\n for (var t in n) r.unshift(t);\n return function e() {\n for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;\n return e.done = !0, e;\n };\n}\nmodule.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regenerator = require(\"./regenerator.js\");\nvar regeneratorAsync = require(\"./regeneratorAsync.js\");\nvar regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nvar regeneratorKeys = require(\"./regeneratorKeys.js\");\nvar regeneratorValues = require(\"./regeneratorValues.js\");\nfunction _regeneratorRuntime() {\n \"use strict\";\n\n var r = regenerator(),\n e = r.m(_regeneratorRuntime),\n t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;\n function n(r) {\n var e = \"function\" == typeof r && r.constructor;\n return !!e && (e === t || \"GeneratorFunction\" === (e.displayName || e.name));\n }\n var o = {\n \"throw\": 1,\n \"return\": 2,\n \"break\": 3,\n \"continue\": 3\n };\n function a(r) {\n var e, t;\n return function (n) {\n e || (e = {\n stop: function stop() {\n return t(n.a, 2);\n },\n \"catch\": function _catch() {\n return n.v;\n },\n abrupt: function abrupt(r, e) {\n return t(n.a, o[r], e);\n },\n delegateYield: function delegateYield(r, o, a) {\n return e.resultName = o, t(n.d, regeneratorValues(r), a);\n },\n finish: function finish(r) {\n return t(n.f, r);\n }\n }, t = function t(r, _t, o) {\n n.p = e.prev, n.n = e.next;\n try {\n return r(_t, o);\n } finally {\n e.next = n.n;\n }\n }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;\n try {\n return r.call(this, e);\n } finally {\n n.p = e.prev, n.n = e.next;\n }\n };\n }\n return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return {\n wrap: function wrap(e, t, n, o) {\n return r.w(a(e), t, n, o && o.reverse());\n },\n isGeneratorFunction: n,\n mark: r.m,\n awrap: function awrap(r, e) {\n return new OverloadYield(r, e);\n },\n AsyncIterator: regeneratorAsyncIterator,\n async: function async(r, e, t, o, u) {\n return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);\n },\n keys: regeneratorKeys,\n values: regeneratorValues\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorValues(e) {\n if (null != e) {\n var t = e[\"function\" == typeof Symbol && Symbol.iterator || \"@@iterator\"],\n r = 0;\n if (t) return t.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) return {\n next: function next() {\n return e && r >= e.length && (e = void 0), {\n value: e && e[r++],\n done: !e\n };\n }\n };\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n}\nmodule.exports = _regeneratorValues, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _readOnlyError(r) {\n throw new TypeError('\"' + r + '\" is read-only');\n}\nexport { _readOnlyError as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n // Null-proto descriptors so a polluted Object.prototype.get cannot turn\n // these data descriptors into accessor descriptors on the way in.\n Object.defineProperty(fn, 'name', { __proto__: null, value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { __proto__: null, value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object<string, Function|Object>}\n */\n adapters: knownAdapters,\n};\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\nimport estimateDataURLDecodedBytes from '../helpers/estimateDataURLDecodedBytes.js';\nimport { VERSION } from '../env/data.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst factory = (env) => {\n const globalObject = utils.global ?? globalThis;\n const { ReadableStream, TextEncoder } = globalObject;\n\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n {\n Request: globalObject.Request,\n Response: globalObject.Response,\n },\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const request = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n });\n\n const hasContentType = request.headers.has('Content-Type');\n\n if (request.body != null) {\n request.body.cancel();\n }\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n maxContentLength,\n maxBodyLength,\n } = resolveConfig(config);\n\n const hasMaxContentLength = utils.isNumber(maxContentLength) && maxContentLength > -1;\n const hasMaxBodyLength = utils.isNumber(maxBodyLength) && maxBodyLength > -1;\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n // Enforce maxContentLength for data: URLs up-front so we never materialize\n // an oversized payload. The HTTP adapter applies the same check (see http.js\n // \"if (protocol === 'data:')\" branch).\n if (hasMaxContentLength && typeof url === 'string' && url.startsWith('data:')) {\n const estimated = estimateDataURLDecodedBytes(url);\n if (estimated > maxContentLength) {\n throw new AxiosError(\n 'maxContentLength size of ' + maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n request\n );\n }\n }\n\n // Enforce maxBodyLength against the outbound request body before dispatch.\n // Mirrors http.js behavior (ERR_BAD_REQUEST / 'Request body larger than\n // maxBodyLength limit'). Skip when the body length cannot be determined\n // (e.g. a live ReadableStream supplied by the caller).\n if (hasMaxBodyLength && method !== 'get' && method !== 'head') {\n const outboundLength = await resolveBodyLength(headers, data);\n if (\n typeof outboundLength === 'number' &&\n isFinite(outboundLength) &&\n outboundLength > maxBodyLength\n ) {\n throw new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config,\n request\n );\n }\n }\n\n if (\n onUploadProgress &&\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n // If data is FormData and Content-Type is multipart/form-data without boundary,\n // delete it so fetch can set it correctly with the boundary\n if (utils.isFormData(data)) {\n const contentType = headers.getContentType();\n if (\n contentType &&\n /^multipart\\/form-data/i.test(contentType) &&\n !/boundary=/i.test(contentType)\n ) {\n headers.delete('content-type');\n }\n }\n\n // Set User-Agent header if not already set (fetch defaults to 'node' in Node.js)\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n // Cheap pre-check: if the server honestly declares a content-length that\n // already exceeds the cap, reject before we start streaming.\n if (hasMaxContentLength) {\n const declaredLength = utils.toFiniteNumber(response.headers.get('content-length'));\n if (declaredLength != null && declaredLength > maxContentLength) {\n throw new AxiosError(\n 'maxContentLength size of ' + maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n request\n );\n }\n }\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (\n supportsResponseStream &&\n response.body &&\n (onDownloadProgress || hasMaxContentLength || (isStreamResponse && unsubscribe))\n ) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n let bytesRead = 0;\n const onChunkProgress = (loadedBytes) => {\n if (hasMaxContentLength) {\n bytesRead = loadedBytes;\n if (bytesRead > maxContentLength) {\n throw new AxiosError(\n 'maxContentLength size of ' + maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n request\n );\n }\n }\n onProgress && onProgress(loadedBytes);\n };\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onChunkProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n // Fallback enforcement for environments without ReadableStream support\n // (legacy runtimes). Detect materialized size from typed output; skip\n // streams/Response passthrough since the user will read those themselves.\n if (hasMaxContentLength && !supportsResponseStream && !isStreamResponse) {\n let materializedSize;\n if (responseData != null) {\n if (typeof responseData.byteLength === 'number') {\n materializedSize = responseData.byteLength;\n } else if (typeof responseData.size === 'number') {\n materializedSize = responseData.size;\n } else if (typeof responseData === 'string') {\n materializedSize =\n typeof TextEncoder === 'function'\n ? new TextEncoder().encode(responseData).byteLength\n : responseData.length;\n }\n }\n if (typeof materializedSize === 'number' && materializedSize > maxContentLength) {\n throw new AxiosError(\n 'maxContentLength size of ' + maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n request\n );\n }\n }\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n // Safari can surface fetch aborts as a DOMException-like object whose\n // branded getters throw. Prefer our composed signal reason before reading\n // the caught error, preserving timeout vs cancellation semantics.\n if (composedSignal && composedSignal.aborted && composedSignal.reason instanceof AxiosError) {\n const canceledError = composedSignal.reason;\n canceledError.config = config;\n request && (canceledError.request = request);\n err !== canceledError && (canceledError.cause = err);\n throw canceledError;\n }\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n ),\n {\n cause: err.cause || err,\n }\n );\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.startsWith('file:'))\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n done();\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n done();\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n done();\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n done();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && !platform.protocols.includes(protocol)) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = (() => {\n if (!dummy.stack) {\n return '';\n }\n\n const firstNewlineIndex = dummy.stack.indexOf('\\n');\n\n return firstNewlineIndex === -1 ? '' : dummy.stack.slice(firstNewlineIndex + 1);\n })();\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack) {\n const firstNewlineIndex = stack.indexOf('\\n');\n const secondNewlineIndex =\n firstNewlineIndex === -1 ? -1 : stack.indexOf('\\n', firstNewlineIndex + 1);\n const stackWithoutTwoTopLines =\n secondNewlineIndex === -1 ? '' : stack.slice(secondNewlineIndex + 1);\n\n if (!String(err.stack).endsWith(stackWithoutTwoTopLines)) {\n err.stack += '\\n' + stack;\n }\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'query', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch', 'query'], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n // QUERY is a safe/idempotent read method; multipart form bodies don't fit\n // its semantics, so no queryForm shorthand is generated.\n if (method !== 'query') {\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n }\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst REDACTED = '[REDACTED ****]';\n\nfunction hasOwnOrPrototypeToJSON(source) {\n if (utils.hasOwnProp(source, 'toJSON')) {\n return true;\n }\n\n let prototype = Object.getPrototypeOf(source);\n\n while (prototype && prototype !== Object.prototype) {\n if (utils.hasOwnProp(prototype, 'toJSON')) {\n return true;\n }\n\n prototype = Object.getPrototypeOf(prototype);\n }\n\n return false;\n}\n\n// Build a plain-object snapshot of `config` and replace the value of any key\n// (case-insensitive) listed in `redactKeys` with REDACTED. Walks through arrays\n// and AxiosHeaders, and short-circuits on circular references.\nfunction redactConfig(config, redactKeys) {\n const lowerKeys = new Set(redactKeys.map((k) => String(k).toLowerCase()));\n const seen = [];\n\n const visit = (source) => {\n if (source === null || typeof source !== 'object') return source;\n if (utils.isBuffer(source)) return source;\n if (seen.indexOf(source) !== -1) return undefined;\n\n if (source instanceof AxiosHeaders) {\n source = source.toJSON();\n }\n\n seen.push(source);\n\n let result;\n if (utils.isArray(source)) {\n result = [];\n source.forEach((v, i) => {\n const reducedValue = visit(v);\n if (!utils.isUndefined(reducedValue)) {\n result[i] = reducedValue;\n }\n });\n } else {\n if (!utils.isPlainObject(source) && hasOwnOrPrototypeToJSON(source)) {\n seen.pop();\n return source;\n }\n\n result = Object.create(null);\n for (const [key, value] of Object.entries(source)) {\n const reducedValue = lowerKeys.has(key.toLowerCase()) ? REDACTED : visit(value);\n if (!utils.isUndefined(reducedValue)) {\n result[key] = reducedValue;\n }\n }\n }\n\n seen.pop();\n return result;\n };\n\n return visit(config);\n}\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n\n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n // Null-proto descriptor so a polluted Object.prototype.get cannot turn\n // this data descriptor into an accessor descriptor on the way in.\n __proto__: null,\n value: message,\n enumerable: true,\n writable: true,\n configurable: true,\n });\n\n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n // Opt-in redaction: when the request config carries a `redact` array, the\n // value of any matching key (case-insensitive, at any depth) is replaced\n // with REDACTED in the serialized snapshot. Undefined or empty leaves the\n // existing serialization behavior unchanged.\n const config = this.config;\n const redactKeys = config && utils.hasOwnProp(config, 'redact') ? config.redact : undefined;\n const serializedConfig =\n utils.isArray(redactKeys) && redactKeys.length > 0\n ? redactConfig(config, redactKeys)\n : utils.toJSONObject(config);\n\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: serializedConfig,\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ECONNREFUSED = 'ECONNREFUSED';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\nAxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED = 'ERR_FORM_DATA_DEPTH_EXCEEDED';\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nconst INVALID_HEADER_VALUE_CHARS_RE = /[^\\x09\\x20-\\x7E\\x80-\\xFF]/g;\n\nfunction trimSPorHTAB(str) {\n let start = 0;\n let end = str.length;\n\n while (start < end) {\n const code = str.charCodeAt(start);\n\n if (code !== 0x09 && code !== 0x20) {\n break;\n }\n\n start += 1;\n }\n\n while (end > start) {\n const code = str.charCodeAt(end - 1);\n\n if (code !== 0x09 && code !== 0x20) {\n break;\n }\n\n end -= 1;\n }\n\n return start === 0 && end === str.length ? str : str.slice(start, end);\n}\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction sanitizeHeaderValue(str) {\n return trimSPorHTAB(str.replace(INVALID_HEADER_VALUE_CHARS_RE, ''));\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : sanitizeHeaderValue(String(value));\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n // Null-proto descriptor so a polluted Object.prototype.get cannot turn\n // this data descriptor into an accessor descriptor on the way in.\n __proto__: null,\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls === false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Expose the current response on config so that transformResponse can\n // attach it to any AxiosError it throws (e.g. on JSON parse failure).\n // We clean it up afterwards to avoid polluting the config object.\n config.response = response;\n try {\n response.data = transformData.call(config, config.transformResponse, response);\n } finally {\n delete config.response;\n }\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n config.response = reason.response;\n try {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n } finally {\n delete config.response;\n }\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n\n // Use a null-prototype object so that downstream reads such as `config.auth`\n // or `config.baseURL` cannot inherit polluted values from Object.prototype.\n // `hasOwnProperty` is restored as a non-enumerable own slot to preserve\n // ergonomics for user code that relies on it.\n const config = Object.create(null);\n Object.defineProperty(config, 'hasOwnProperty', {\n // Null-proto descriptor so a polluted Object.prototype.get cannot turn\n // this data descriptor into an accessor descriptor on the way in.\n __proto__: null,\n value: Object.prototype.hasOwnProperty,\n enumerable: false,\n writable: true,\n configurable: true,\n });\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (utils.hasOwnProp(config2, prop)) {\n return getMergedValue(a, b);\n } else if (utils.hasOwnProp(config1, prop)) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n allowedSocketPaths: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const a = utils.hasOwnProp(config1, prop) ? config1[prop] : undefined;\n const b = utils.hasOwnProp(config2, prop) ? config2[prop] : undefined;\n const configValue = merge(a, b, prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n response.status >= 400 && response.status < 500 ? AxiosError.ERR_BAD_REQUEST : AxiosError.ERR_BAD_RESPONSE,\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst own = (obj, key) => (obj != null && utils.hasOwnProp(obj, key) ? obj[key] : undefined);\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n const formSerializer = own(this, 'formSerializer');\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const env = own(this, 'env');\n const _FormData = env && env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = own(this, 'transitional') || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const responseType = own(this, 'responseType');\n const JSONRequested = responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, own(this, 'parseReviver'));\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, own(this, 'response'));\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'query'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n};\n","export const VERSION = \"1.16.0\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? function (value) {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with\n * their plain counterparts (`:`, `$`, `,`, `+`).\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nexport function encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const { length } = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n};\n\nexport default composeSignals;\n","import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n // Match name=value by splitting on the semicolon separator instead of building a\n // RegExp from `name` — interpolating an unescaped string into a RegExp would let\n // metacharacters (e.g. `.+?` in an attacker-influenced cookie name) cause ReDoS or\n // match the wrong cookie. Browsers may serialize cookie pairs as either \";\" or\n // \"; \", so ignore optional whitespace before each cookie name.\n const cookies = document.cookie.split(';');\n for (let i = 0; i < cookies.length; i++) {\n const cookie = cookies[i].replace(/^\\s+/, '');\n const eq = cookie.indexOf('=');\n if (eq !== -1 && cookie.slice(0, eq) === name) {\n return decodeURIComponent(cookie.slice(eq + 1));\n }\n }\n return null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n","/**\n * Estimate decoded byte length of a data:// URL *without* allocating large buffers.\n * - For base64: compute exact decoded size using length and padding;\n * handle %XX at the character-count level (no string allocation).\n * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound.\n *\n * @param {string} url\n * @returns {number}\n */\nexport default function estimateDataURLDecodedBytes(url) {\n if (!url || typeof url !== 'string') return 0;\n if (!url.startsWith('data:')) return 0;\n\n const comma = url.indexOf(',');\n if (comma < 0) return 0;\n\n const meta = url.slice(5, comma);\n const body = url.slice(comma + 1);\n const isBase64 = /;base64/i.test(meta);\n\n if (isBase64) {\n let effectiveLen = body.length;\n const len = body.length; // cache length\n\n for (let i = 0; i < len; i++) {\n if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {\n const a = body.charCodeAt(i + 1);\n const b = body.charCodeAt(i + 2);\n const isHex =\n ((a >= 48 && a <= 57) || (a >= 65 && a <= 70) || (a >= 97 && a <= 102)) &&\n ((b >= 48 && b <= 57) || (b >= 65 && b <= 70) || (b >= 97 && b <= 102));\n\n if (isHex) {\n effectiveLen -= 2;\n i += 2;\n }\n }\n }\n\n let pad = 0;\n let idx = len - 1;\n\n const tailIsPct3D = (j) =>\n j >= 2 &&\n body.charCodeAt(j - 2) === 37 && // '%'\n body.charCodeAt(j - 1) === 51 && // '3'\n (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'\n\n if (idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n idx--;\n } else if (tailIsPct3D(idx)) {\n pad++;\n idx -= 3;\n }\n }\n\n if (pad === 1 && idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n } else if (tailIsPct3D(idx)) {\n pad++;\n }\n }\n\n const groups = Math.floor(effectiveLen / 4);\n const bytes = groups * 3 - (pad || 0);\n return bytes > 0 ? bytes : 0;\n }\n\n if (typeof Buffer !== 'undefined' && typeof Buffer.byteLength === 'function') {\n return Buffer.byteLength(body, 'utf8');\n }\n\n // Compute UTF-8 byte length directly from UTF-16 code units without allocating\n // a byte buffer (TextEncoder.encode would defeat the DoS guard on large bodies).\n // Using body.length here would undercount non-ASCII (e.g. '€' is 1 code unit\n // but 3 UTF-8 bytes).\n let bytes = 0;\n for (let i = 0, len = body.length; i < len; i++) {\n const c = body.charCodeAt(i);\n if (c < 0x80) {\n bytes += 1;\n } else if (c < 0x800) {\n bytes += 2;\n } else if (c >= 0xd800 && c <= 0xdbff && i + 1 < len) {\n const next = body.charCodeAt(i + 1);\n if (next >= 0xdc00 && next <= 0xdfff) {\n bytes += 4;\n i++;\n } else {\n bytes += 3;\n }\n } else {\n bytes += 3;\n }\n }\n return bytes;\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = utils.isArray(target[name])\n ? target[name].concat(value)\n : [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25}):(?:\\/\\/)?/.exec(url);\n return (match && match[1]) || '';\n}\n","import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n const rawLoaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const loaded = total != null ? Math.min(rawLoaded, total) : rawLoaded;\n const progressBytes = Math.max(0, loaded - bytesNotified);\n const rate = _speedometer(progressBytes);\n\n bytesNotified = Math.max(bytesNotified, loaded);\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nconst FORM_DATA_CONTENT_HEADERS = ['content-type', 'content-length'];\n\nfunction setFormDataHeaders(headers, formHeaders, policy) {\n if (policy !== 'content-only') {\n headers.set(formHeaders);\n return;\n }\n\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (FORM_DATA_CONTENT_HEADERS.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n}\n\n/**\n * Encode a UTF-8 string to a Latin-1 byte string for use with btoa().\n * This is a modern replacement for the deprecated unescape(encodeURIComponent(str)) pattern.\n *\n * @param {string} str The string to encode\n *\n * @returns {string} UTF-8 bytes as a Latin-1 string\n */\nconst encodeUTF8 = (str) =>\n encodeURIComponent(str).replace(/%([0-9A-F]{2})/gi, (_, hex) =>\n String.fromCharCode(parseInt(hex, 16))\n );\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n // Read only own properties to prevent prototype pollution gadgets\n // (e.g. Object.prototype.baseURL = 'https://evil.com').\n const own = (key) => (utils.hasOwnProp(newConfig, key) ? newConfig[key] : undefined);\n\n const data = own('data');\n let withXSRFToken = own('withXSRFToken');\n const xsrfHeaderName = own('xsrfHeaderName');\n const xsrfCookieName = own('xsrfCookieName');\n let headers = own('headers');\n const auth = own('auth');\n const baseURL = own('baseURL');\n const allowAbsoluteUrls = own('allowAbsoluteUrls');\n const url = own('url');\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(baseURL, url, allowAbsoluteUrls),\n config.params,\n config.paramsSerializer\n );\n\n // HTTP basic authentication\n if (auth) {\n headers.set(\n 'Authorization',\n 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? encodeUTF8(auth.password) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n setFormDataHeaders(headers, data.getHeaders(), own('formDataHeaderPolicy'));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n if (utils.isFunction(withXSRFToken)) {\n withXSRFToken = withXSRFToken(newConfig);\n }\n\n // Strict boolean check — prevents proto-pollution gadgets (e.g. Object.prototype.withXSRFToken = 1)\n // and misconfigurations (e.g. \"false\") from short-circuiting the same-origin check and leaking\n // the XSRF token cross-origin.\n const shouldSendXSRF =\n withXSRFToken === true || (withXSRFToken == null && isURLSameOrigin(newConfig.url));\n\n if (shouldSendXSRF) {\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const maxDepth = options.maxDepth === undefined ? 100 : options.maxDepth;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path, depth = 0) {\n if (utils.isUndefined(value)) return;\n\n if (depth > maxDepth) {\n throw new AxiosError(\n 'Object is too deeply nested (' + depth + ' levels). Max depth: ' + maxDepth,\n AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED\n );\n }\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key], depth + 1);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n","export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n","'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n // Use hasOwnProperty so a polluted Object.prototype.<opt> cannot supply\n // a non-function validator and cause a TypeError.\n const validator = Object.prototype.hasOwnProperty.call(schema, opt) ? schema[opt] : undefined;\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n","'use strict';\n\nexport default typeof Blob !== 'undefined' ? Blob : null;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob,\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n *\n * @param {*} value The value to test\n *\n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n};\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n *\n * @param {*} formData The formData to test\n *\n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a FileList, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n if (!thing) return false;\n if (FormDataCtor && thing instanceof FormDataCtor) return true;\n // Reject plain objects inheriting directly from Object.prototype so prototype-pollution gadgets can't spoof FormData.\n const proto = getPrototypeOf(thing);\n if (!proto || proto === Object.prototype) return false;\n if (!isFunction(thing.append)) return false;\n const kind = kindOf(thing);\n return (\n kind === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array<unknown>} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(...objs) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n // Read via own-prop only — a bare `result[targetKey]` walks the prototype\n // chain, so a polluted Object.prototype value could surface here and get\n // copied into the merged result.\n const existing = hasOwnProperty(result, targetKey) ? result[targetKey] : undefined;\n if (isPlainObject(existing) && isPlainObject(val)) {\n result[targetKey] = merge(existing, val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = objs.length; i < l; i++) {\n objs[i] && forEach(objs[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n // Null-proto descriptor so a polluted Object.prototype.get cannot\n // hijack defineProperty's accessor-vs-data resolution.\n __proto__: null,\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n __proto__: null,\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n __proto__: null,\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n __proto__: null,\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].includes(name)) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tif (!(moduleId in __webpack_modules__)) {\n\t\tdelete __webpack_module_cache__[moduleId];\n\t\tvar e = new Error(\"Cannot find module '\" + moduleId + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n\nexport type * from \"./Typesense/Aliases\";\nexport type * from \"./Typesense/AnalyticsRulesV1\";\nexport type * from \"./Typesense/AnalyticsRuleV1\";\nexport type * from \"./Typesense/AnalyticsEvent\";\nexport type * from \"./Typesense/AnalyticsRule\";\nexport type * from \"./Typesense/AnalyticsRules\";\nexport type * from \"./Typesense/Collection\";\nexport type * from \"./Typesense/Collections\";\nexport type * from \"./Typesense/Configuration\";\nexport type * from \"./Typesense/Conversations\";\nexport type * from \"./Typesense/Conversation\";\nexport type * from \"./Typesense/ConversationModel\";\nexport type * from \"./Typesense/Debug\";\nexport type * from \"./Typesense/Documents\";\nexport type * from \"./Typesense/Health\";\nexport type * from \"./Typesense/Key\";\nexport type * from \"./Typesense/Keys\";\nexport type * from \"./Typesense/Metrics\";\nexport type * from \"./Typesense/MultiSearch\";\nexport type * from \"./Typesense/Override\";\nexport type * from \"./Typesense/Overrides\";\nexport type * from \"./Typesense/Preset\";\nexport type * from \"./Typesense/Presets\";\nexport type * from \"./Typesense/Stats\";\nexport type * from \"./Typesense/Stopword\";\nexport type * from \"./Typesense/Stopwords\";\nexport type * from \"./Typesense/Synonym\";\nexport type * from \"./Typesense/Synonyms\";\nexport type * from \"./Typesense/SynonymSet\";\nexport type * from \"./Typesense/SynonymSets\";\nexport type * from \"./Typesense/SynonymSetItem\";\nexport type * from \"./Typesense/SynonymSetItems\";\nexport type * from \"./Typesense/CurationSet\";\nexport type * from \"./Typesense/CurationSets\";\nexport type * from \"./Typesense/CurationSetItem\";\nexport type * from \"./Typesense/CurationSetItems\";\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_context2","delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","AnalyticsRulesV1","AnalyticsRuleV1","_x3","_callee3","ruleTag","query","_context3","_x4","AnalyticsV1","hasWarnedDeprecation","console","warn","axios","Agent","HTTPAgent","HTTPSAgent","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","toErrorWithMessage","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","window","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_ref$streamConfig","streamConfig","isStreamingRequest","_args","length","performRequest","_args2","_post","bodyParameters","_ref2","_ref2$abortSignal","_ref2$responseType","_ref2$streamConfig","_args3","_put","_callee4","_args4","_context4","_patch","_callee5","_args5","_context5","patch","_x5","getAdapter","axiosAdapter","isCloudflareWorkers","navigator","userAgent","bind","globalThis","_performRequest","_callee6","requestType","_ref3","_this","_ref3$queryParameters","_ref3$bodyParameters","_ref3$additionalHeade","_ref3$abortSignal","_ref3$responseType","_ref3$skipConnectionT","skipConnectionTimeout","_ref3$enableKeepAlive","enableKeepAlive","_ref3$streamConfig","requestNumber","lastException","wasAborted","_loop","_ret","numTries","_context7","validate","debug","fetch","Date","now","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$code","_error$response","_t","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","adapter","timeout","keys","httpAgent","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","_objectSpread","Accept","sent","setNodeHealthcheck","handleStreamingResponse","resolve","customErrorForResponse","message","code","invokeOnErrorCallback","timer","removeEventListener","finish","delegateYield","t0","_x6","_x7","_x8","processStreamingLine","line","trim","processDataLine","slice","jsonData","conversation_id","_unused","dataContent","_unused2","_handleStreamingResponse","_callee7","_context8","handleNodeStreaming","handleBrowserStreaming","invokeOnCompleteCallback","_x9","_x0","_this2","stream","allChunks","buffer","on","chunk","_lines$pop","toString","lines","split","pop","processStreamLines","error","finalizeStreamResult","_this3","_ref4","_callee8","_t2","_context9","getReader","handleBrowserReadableStream","handleBrowserStringResponse","_x1","_x10","_handleBrowserReadableStream","_callee9","reader","_yield$reader$read","done","_lines","_t3","_context0","read","TextDecoder","decode","_x11","_x12","_x13","_x14","_x15","finalResult","combineStreamingChunks","_iterator","_createForOfIteratorHelper","_step","s","n","processed","invokeOnChunkCallback","push","err","e","f","chunks","messagesChunks","getMessageChunks","combineMessageChunks","lastChunk","isCompleteSearchResponse","filter","isChunkMessage","metadataChunk","find","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this4","forEach","protocol","host","port","path","_timer","_callee0","seconds","_context1","setTimeout","_x16","messageFromServer","httpBody","errorMessage","onChunk","onComplete","onError","errorObj","callbackError","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Stemming","NLSearchModels","NLSearchModel","SynonymSets","SynonymSet","CurationSets","CurationSet","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","analyticsV1","stemming","_conversations","individualConversations","_nlSearchModels","individualNLSearchModels","_synonymSets","individualSynonymSets","_curationSets","individualCurationSets","collections","collectionName","aliases","presets","stopwords","conversations","nlSearchModels","synonymSets","synonymSetName","curationSets","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","CurationSetItems","CurationSetItem","_items","items","itemId","individualItems","normalizeArrayableParams","queryParams","partialDocument","ImportError","SearchOnlyDocuments","_SearchOnlyDocuments","_callSuper","_inherits","document","action","_emplace","emplace","_createMany","_args6","import","createMany","_import2","finalOptions","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args7","throwOnFail","Array","isArray","RangeError","includes","isEmptyString","r","success","successCount","_importStream","readableStream","_args8","importStream","_export2","_args9","export","_exportStream","_args0","exportStream","str","_TypesenseError","importResults","payload","_Error","httpStatus","constructor","setPrototypeOf","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","normalizedParams","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_options$cacheSearchR","normalizedSearchRequests","paramsWithoutStream","normalizedQueryParams","use_cache","union","hasAnySearchObjectPagination","remove_duplicates","searches","_objectWithoutProperties","_excluded","perform","body","cacheResponseForSeconds","conversation_stream","search","page","per_page","offset","limit","limit_hits","operationName","_getSchemaChanges","getSchemaChanges","presetId","_normalizedParams","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","methodName","requestParams","cacheOptions","_ref$cacheResponseFor","_ref$maxSize","maxSize","isCacheDisabled","requestParamsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","executeRequest","requestTimestamp","set","size","context","call","String","SearchOnlyCollection","SearchClient","entries","_slicedToArray","_","collection","_search","searchParameters","_ref$cacheSearchResul","additionalQueryParams","_normalizeArrayablePa","rest","StemmingDictionaries","StemmingDictionary","_stemmingDictionaries","dictionaries","individualStemmingDictionaries","wordRootCombinations","wordRootCombinationsInJSONLFormat","combo","stopwordId","SynonymSetItems","SynonymSetItem","arrayableParams","query_by","query_by_weights","facet_by","group_by","include_fields","exclude_fields","highlight_fields","highlight_full_fields","pinned_hits","hidden_hits","infix","override_tags","num_typos","prefix","synonym_sets","sort_by","hasNoArrayValues","isNonArrayValue","result","transformedValues","isErrorWithMessage","couldBeError","Errors"],"sourceRoot":""}
|