@bbn/bbn 1.0.200 → 1.0.202
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/dist/bbn.js +32 -19
- package/dist/bbn.js.map +1 -1
- package/dist/index.js +2 -0
- package/package.json +1 -1
package/dist/bbn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bbn.js","mappings":"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;AACA;AACA;AACA;AACA;AACA,YAAY,gEAAS;AACrB;AACA,SAAS;AACT;AACA;AACA;AACa;;;;;;;;;;;;;;;;;;;;AC3Bc;AACc;AACM;AACL;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sDAAI;AAChB;AACA;AACA,oBAAoB,uDAAG;AACvB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sCAAC;AACjC;AACA;AACA;AACA;AACA,gBAAgB,uDAAG;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sCAAC;AACjC;AACA;AACA;AACA;AACA,gBAAgB,uDAAG;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sCAAC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4DAAO;AAC3B;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sCAAC;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;AACpB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,oCAAoC,sCAAC;AACrC;AACA;AACA;AACA,oBAAoB,uDAAG;AACvB;AACA,oBAAoB,4DAAO;AAC3B;AACA,uEAAuE,kBAAkB;AACzF,wBAAwB,4DAAO;AAC/B;AACA;AACA;AACA,iCAAiC;AACjC;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sCAAC;AAC7B;AACA;AACA;AACc;;;;;;;;;;;;;;;;ACxLd;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;AACe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CsC;AACU;AACJ;AAChB;AACM;AACG;AACD;AACD;AACO;AACJ;AACE;AACd;AACsB;AACT;AACkB;AACX;AACN;AACJ;AACN;AACQ;AACJ;AACE;AACI;AACO;AAChB;AACS;AACc;AACJ;AACd;AACgB;AACtB;AACW;AACP;AACoB;AACzB;AACa;AACZ;AACA;AACc;AACP;AACP;AACM;AACQ;AACR;AACiC;AACA;AACR;AACI;AACM;AACV;AACI;AACN;AACQ;AACF;AACF;AACY;AACnC;AACN;AACA;AACA;AACc;AACtB;AACiB;AACZ;AACe;AACF;AACE;AACJ;AACJ;AACN;AACM;AACN;AACQ;AACF;AACJ;AACF;AACwB;AACtB;AACR;AACE;AACI;AACU;AACA;AACF;AACN;AACC;AACH;AACM;AACI;AACE;AACK;AACM;AAChB;AACF;AACH;AACa;AACF;AACT;AACY;AAChB;AACsB;AAClB;AACJ;AACE;AACQ;AACA;AACV;AACmB;AACnB;AACM;AACP;AACH;AACO;AACA;AACC;AACW;AACJ;AACd;AACR;AACkC;AACvB;AACF;AACM;AACF;AACF;AACI;AACV;AACI;AACqB;AACX;AACZ;AACI;AACA;AACA;AACO;AACD;AACA;AACJ;AACN;AACc;AAChB;AACY;AACD;AACY;AACnB;AACI;AACA;AACE;AACI;AACJ;AACE;AACR;AACM;AACF;AACA;AACe;AACrB;AACsB;AACV;AACR;AACJ;AACI;AACmB;AACzB;AACC;AACe;AAChB;AACA;AACE;AACA;AACY;AACE;AACZ;AACgB;AACI;AACpB;AACW;AACF;AACP;AACM;AACZ;AACM;AACA;AACU;AACN;AACQ;AACE;AACJ;AACY;AACE;AACF;AACI;AAC1B;AACQ;AACa;AACtB;AACI;AACD;AACQ;AACN;AACJ;AACuB;AACrB;AACK;AACF;AACe;AAClB;AACQ;AACR;AACM;AACN;AACM;AACE;AACA;AACS;AACM;AAC3B;AACE;AACN;AACc;AACT;AACsB;AACjB;AACkB;AAC1B;AACY;AACR;AACF;AACK;AAClD;AACA,gBAAgB,6DAAU;AAC1B,oBAAoB,uEAAc;AAClC,mBAAmB,mEAAa;AAChC,WAAW,oDAAK;AAChB,cAAc,0DAAQ;AACtB,eAAe,6DAAS;AACxB,eAAe,4DAAS;AACxB,cAAc,2DAAQ;AACtB,kBAAkB,kEAAY;AAC9B,gBAAgB,8DAAU;AAC1B,iBAAiB,iEAAW;AAC5B,UAAU,mDAAI;AACd,qBAAqB,yEAAe;AACpC,gBAAgB,gEAAU;AAC1B,wBAAwB,kFAAkB;AAC1C,mBAAmB,uEAAa;AAChC,gBAAgB,iEAAU;AAC1B,cAAc,6DAAQ;AACtB,WAAW,uDAAK;AAChB,cAAc,+DAAQ;AACtB,cAAc,2DAAQ;AACtB,cAAc,6DAAQ;AACtB,gBAAgB,iEAAU;AAC1B,mBAAmB,wEAAa;AAChC,YAAY,wDAAM;AAClB,gBAAgB,iEAAU;AAC1B,uBAAuB,+EAAiB;AACxC,qBAAqB,2EAAe;AACpC,eAAe,6DAAS;AACxB,sBAAsB,6EAAgB;AACtC,WAAW,uDAAK;AAChB,gBAAgB,kEAAU;AAC1B,aA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CA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB,cAAc,yDAAM;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;;AClDuB;AACA;AACE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,qBAAqB;AACnC,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB;AACA;AACA,0BAA0B;AAC1B,8BAA8B;AAC9B,cAAc,yDAAM,oBAAoB,gBAAgB;AACxD;AACA;AACA,wBAAwB,yDAAM,2BAA2B,qCAAqC;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;ACxCkB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,WAAW;AACxC,qDAAqD,WAAW;AAChE;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc;AACd;AACA;AACA,iBAAiB,wDAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACiB;;;;;;;;;;;;;;;;;;ACjCsB;AACM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,WAAW;AACxC,6BAA6B,WAAW;AACxC;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc;AACd;AACA;AACA,IAAI,mDAAI,CAAC,yDAAM,oBAAoB,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACoB;;;;;;;;;;;;;;;;;;;;;;;;;AChC2B;AACM;AACJ;AACN;AACE;AACc;AACR;AACA;AACN;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM;AACZ;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;AACA,cAAc,UAAU;AACxB;AACA;AACA,+BAA+B;AAC/B,2BAA2B;AAC3B,8BAA8B;AAC9B,8BAA8B;AAC9B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iEAAU;AAC5B;AACA;AACA;AACA;AACA,0BAA0B,8DAAY;AACtC,wBAAwB,wDAAS;AACjC;AACA;AACA;AACA;AACA;AACA,YAAY,yDAAM,WAAW,IAAI,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,2DAAQ,UAAU,uEAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,+DAAa;AACzB;AACA;AACA;AACA,wBAAwB,+DAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,YAAY,+DAAa;AACzB;AACA;AACA;AACA,oBAAoB,+DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,+DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oBAAoB,yDAAU;AAC9B;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;;AC1K4B;AACO;AACX;AACxC;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,oBAAoB,OAAO;AAC3B,kBAAkB,OAAO;AACzB,iBAAiB,OAAO;AACxB,eAAe,OAAO;AACtB,qBAAqB,OAAO;AAC5B,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B;AACA,cAAc,GAAG;AACjB;AACA;AACA,0BAA0B;AAC1B,yBAAyB;AACzB,0BAA0B;AAC1B,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wDAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,+DAAU;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,+DAAU;AACtC;AACA;AACA;AACA;AACA,wBAAwB,oDAAG;AAC3B,wBAAwB,wDAAK,CAAC,+DAAU;AACxC;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA,0BAA0B,+DAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;;;;ACrHa;AACY;AACI;AACN;AACI;AACQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA,cAAc;AACd;AACA;AACA,+BAA+B;AAC/B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,WAAW,8CAAI,0BAA0B,kBAAkB;AAC3D;AACA;AACA,kCAAkC;AAClC;AACA,2BAA2B,yDAAM;AACjC;AACA;AACA,2BAA2B,6DAAQ;AACnC;AACA;AACA,YAAY,uDAAM;AAClB,4BAA4B,2DAAO;AACnC;AACA;AACA;AACA;AACA,gBAAgB,oEAAe;AAC/B;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACoB;;;;;;;;;;;;;;;;;;;;ACnE2B;AACA;AACA;AACP;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,mBAAmB;AAC/D;AACA;AACA;AACA,cAAc,+BAA+B;AAC7C,cAAc,+BAA+B;AAC7C,cAAc,+BAA+B;AAC7C;AACA,cAAc;AACd;AACA;AACA,2BAA2B;AAC3B,QAAQ,2DAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,2DAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2DAAQ;AAChB,oCAAoC,YAAY;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAG;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2B;;;;;;;;;;;;;;;;;AC1EkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,WAAW;AACxC,qDAAqD,WAAW;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B,oBAAoB,QAAQ,YAAY,WAAW,UAAU;AAC7D;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,aAAa;AAC3B;AACA;AACA,cAAc,yDAAM,oBAAoB,gBAAgB;AACxD;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;AC3CwB;AACN;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO,YAAY;AAC1D;AACA,uCAAuC,OAAO,YAAY;AAC1D;AACA,uCAAuC,OAAO,YAAY;AAC1D;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,QAAQ,yDAAO;AACf;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,mDAAG;AAC1B;AACwB;;;;;;;;;;;;;;;;;;;;;;;;AC7DqC;AAClB;AACV;AACO;AACK;AACE;AACN;AACkB;AAC3D;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,qBAAqB,uBAAuB;AAC5C;AACA;AACA,cAAc,0EAAkB;AAChC;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,SAAS;AACT;AACA;AACA,QAAQ,wDAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,8CAAI;AACvB;AACA,oBAAoB,oDAAG;AACvB;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA,wBAAwB,oDAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,sDAAQ;AAC5B;AACA;AACA,wBAAwB,wEAAiB;AACzC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;;ACxI6C;AAC5B;AACQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA,IAAI;AACJ;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,cAAc,0EAAkB;AAChC;AACA,eAAe,8CAAI;AACnB,YAAY,sDAAQ;AACpB,SAAS;AACT;AACA;AACgB;;;;;;;;;;;;;;;;;;;AChDyC;AACR;AACM;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,6BAA6B;AAC7G;AACA;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;AACA,cAAc;AACd;AACA;AACA,8BAA8B;AAC9B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mEAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qEAAY;AAC3B;AACA;AACA;AACA,QAAQ,6DAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;;;ACrD0B;AACA;AACA;AACI;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;AACA,cAAc;AACd;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B;AACA;AACA;AACA,kDAAkD,yDAAM;AACxD;AACA,mBAAmB,yDAAM;AACzB;AACA,qBAAqB,yDAAM;AAC3B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,6DAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;;;;ACjFkB;AACI;AACN;AACc;AAC3D;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,SAAS;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,QAAQ,2DAAQ;AAChB;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA,YAAY,+DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yDAAM;AACvC;AACA;AACA;AACA;AACA;AACA,qCAAqC,yDAAM;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uEAAa;AACpC;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;;AC/HiC;AACvB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,cAAc;AACd;AACA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,+BAA+B;AAC/B;AACA,+CAA+C,2EAAgB;AAC/D;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oDAAG;AACnB;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB,oDAAG;AACnB;AACA;AACA,SAAS;AACT;AACA;AACkB;;;;;;;;;;;;;;;;;;ACtD6B;AACI;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA,qBAAqB;AACrB;AACA,yBAAyB,2DAAQ,QAAQ,+DAAU;AACnD;AACA;AACA,6EAA6E;AAC7E;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACgB;;;;;;;;;;;;;;;;ACnDhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,iCAAiC,kBAAkB;AACnD;AACuB;;;;;;;;;;;;;;;;;AChBQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA,iDAAiD,qBAAqB;AACtE,SAAS;AACT,QAAQ,wCAAG;AACX;AACA;AACA;AACiB;;;;;;;;;;;;;;;;AC5BjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;;;;;;;;;;;;;;;;AC3B1B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;AC5B7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,qCAAqC;AACrC,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC/BrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;;ACtB0C;AAC5B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,+EAAkB;AACzC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mDAAI;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACwB;;;;;;;;;;;;;;;;;AClHO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,2CAA2C,mBAAmB,gBAAgB;AAC9E,KAAK;AACL,IAAI,wCAAG;AACP;AACA;AACiB;;;;;;;;;;;;;;;;ACzBjB;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;ACHY;AAC/B;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB,gBAAgB;AAC5E,KAAK;AACL,IAAI,wCAAG;AACP;AACA;AACgB;;;;;;;;;;;;;;;;ACtBhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;ACpB+B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,WAAW,wEAAa;AACxB;AAC2B;;;;;;;;;;;;;;;;AChB3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,cAAc,SAAS;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA;AACqB;;;;;;;;;;;;;;;;;;ACvBgC;AACA;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,WAAW,kEAAc,MAAM,kEAAc;AAC7C;AACoB;;;;;;;;;;;;;;;;;ACjBwC;AAC5D;AACA,WAAW,wEAAa;AACxB;AAC0B;;;;;;;;;;;;;;;;;ACJkC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW,wEAAa;AACxB;AAC0B;;;;;;;;;;;;;;;;;AChByB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,+DAAU;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;;;;;;;;;;;;;;;;AClDf;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;AAC4B;;;;;;;;;;;;;;;;ACzC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,cAAc,SAAS;AACvB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;AC1C7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qCAAqC,cAAc;AACnD,qDAAqD;AACrD;AACqB;;;;;;;;;;;;;;;;;ACxBuB;AAC5C;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,QAAQ,wDAAM;AACd,KAAK;AACL;AAC4B;;;;;;;;;;;;;;;;;ACtCG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,qBAAqB;AAClE;AACA;AACA,IAAI,wCAAG;AACP;AACmB;;;;;;;;;;;;;;;;ACvBnB;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;ACH9B;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;ACnBzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;ACvBtB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,gBAAgB;AACtE;AACA;AACA;AACA,kDAAkD,gBAAgB;AAClE;AACA;AACA;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;AC3DnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,8BAA8B,EAAE,UAAU,EAAE,UAAU,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;AC5BnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;ACpB0B;AACnD;AACA,2BAA2B;AAC3B,iBAAiB,gEAAa;AAC9B;AACA;AACuB;;;;;;;;;;;;;;;;ACNvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;AC3BnB;AACA,+CAA+C;AAC/C;AACA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;;;ACRS;AACM;AACQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uCAAuC,GAAG,8BAA8B;AAC1F;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ,SAAS;AAC/B,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mDAAI;AACR,kBAAkB,yDAAO;AACzB;AACA,QAAQ,mDAAI;AACZ;AACA,uCAAuC,iEAAU;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACiB;;;;;;;;;;;;;;;;;;;;;;AClES;AACmC;AAC1B;AACF;AACU;AACI;AAC/C;AACA,uBAAuB;AACvB;AACA,yCAAY,CAAC,qDAAqB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,kBAAkB;AAChC,cAAc;AACd;AACA;AACA,mCAAmC;AACnC,sBAAsB,kCAAK;AAC3B,eAAe,gDAAK;AACpB;AACA,YAAY,8CAAI;AAChB,SAAS,uDAAM;AACf,+BAA+B,2DAAQ;AACvC;AACA,WAAW,kCAAK;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACoB;;;;;;;;;;;;;;;;;;AC9CmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmC;;;;;;;;;;;;;;;;;;;AC5CY;AACF;AACF;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,2DAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yDAAM,qBAAqB,yDAAM,yBAAyB,yDAAM;AACrG;AACA;AACA,qCAAqC,yDAAM,qBAAqB,yDAAM,yBAAyB,yDAAM,qBAAqB,yDAAM,sBAAsB,yDAAM,sBAAsB,yDAAM;AACxL;AACA;AACA,aAAa,uDAAM;AACnB;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;AC3CiB;AACP;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA,gBAAgB,8CAAI;AACpB;AACA,eAAe,kCAAK;AACpB;AACA;AACmB;;;;;;;;;;;;;;;;;AC1Bc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA,YAAY,8CAAI;AAChB;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;;;;ACvBoB;AACV;AACU;AACI;AAC/C;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,eAAe,wDAAS;AACxB;AACA,YAAY,8CAAI;AAChB,SAAS,uDAAM;AACf,+BAA+B,2DAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;;;AC5BgB;AACU;AACI;AAC/C;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,mCAAmC;AACnC,YAAY,8CAAI;AAChB,SAAS,uDAAM;AACf,+BAA+B,2DAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC9BrB;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;;ACHW;AACU;AACI;AAC/C;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,YAAY,8CAAI;AAChB,SAAS,uDAAM;AACf,+BAA+B,2DAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;ACpBgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA,YAAY,8CAAI;AAChB;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACzBlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;AClBmB;AACxC;AACA,0BAA0B;AAC1B,IAAI,oDAAG;AACP;AACoC;;;;;;;;;;;;;;;;;ACLI;AACxC;AACA,iCAAiC;AACjC,kCAAkC;AAClC,IAAI,oDAAG;AACP;AACoC;;;;;;;;;;;;;;;;ACNpC;AACA,4BAA4B;AAC5B;AACA;AACA;AACgC;;;;;;;;;;;;;;;;;ACLmB;AACnD;AACA,2BAA2B;AAC3B;AACA;AACA,YAAY,+DAAU;AACtB;AACA;AACA;AACA;AACA,eAAe,+DAAU;AACzB;AACA;AACA;AACkC;;;;;;;;;;;;;;;;ACdlC;AACA,2BAA2B;AAC3B,0BAA0B;AAC1B;AACA;AACqC;;;;;;;;;;;;;;;;;ACLG;AACxC;AACA,IAAI,oDAAG;AACP;AACgC;;;;;;;;;;;;;;;;ACJhC;AACA;AACA;AACkC;;;;;;;;;;;;;;;;ACHlC;AACA;AACA;AAC+B;;;;;;;;;;;;;;;;ACH/B;AACA,0BAA0B;AAC1B;AACA;AACmC;;;;;;;;;;;;;;;;;ACJK;AACxC;AACA,4BAA4B;AAC5B,0BAA0B;AAC1B,IAAI,oDAAG;AACP;AACA;AACkC;;;;;;;;;;;;;;;;ACPlC;AACA;AACA;AACiC;;;;;;;;;;;;;;;;ACHjC;AACA,2BAA2B;AAC3B,gCAAgC;AAChC;AACA;AACuC;;;;;;;;;;;;;;;;;ACLM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,6BAA6B;AACrC,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA,YAAY,yDAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AClFrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;;;ACjCiB;AACM;AACQ;AACR;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mDAAI;AACR,YAAY,0DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iEAAU;AACnC,yBAAyB,iEAAU;AACnC,yBAAyB,iEAAU;AACnC;AACA;AACA,oBAAoB,yDAAM;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;;;AC9FyB;AACN;AACQ;AACF;AACF;AAC3C;AACA;AACA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;AACA;AACA,0BAA0B;AAC1B,iCAAiC;AACjC;AACA;AACA,8BAA8B;AAC9B,4BAA4B,yDAAO;AACnC;AACA;AACA;AACA,qBAAqB,yDAAO;AAC5B,gBAAgB,mDAAI;AACpB;AACA,iBAAiB;AACjB;AACA,qBAAqB,2DAAQ;AAC7B,gBAAgB,yDAAO;AACvB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB,uDAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;;;;;;;;;;;;;;;;;;AC/Ca;AACF;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sDAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mDAAI;AACpB;AACA;AACA,gBAAgB,mDAAI;AACpB;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;;AClDiC;AACN;AAC7C;AACA;AACA,6BAA6B,+DAAU;AACvC;AACA;AACA,WAAW,0DAAU;AACrB;AACwB;;;;;;;;;;;;;;;;;ACTe;AACvC;AACA;AACA,IAAI,mDAAI;AACR;AACA,KAAK;AACL,IAAI,mDAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,mDAAI;AACR;AACA;AACA;AACA,KAAK;AACL;AACsB;;;;;;;;;;;;;;;;;;ACpB6B;AACN;AAC7C;AACA;AACA,6BAA6B,+DAAU;AACvC;AACA;AACA,WAAW,0DAAU;AACrB;AACuB;;;;;;;;;;;;;;;;;ACTsB;AAC7C;AACA;AACA;AACA;AACA;AACA,WAAW,yDAAM,yDAAyD,iCAAiC;AAC3G;AACsB;;;;;;;;;;;;;;;;ACRtB;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;ACzBoB;AAC5C;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,QAAQ,wDAAK;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACyB;;;;;;;;;;;;;;;;;ACfe;AACxC;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAG;AACX;AACA,QAAQ,oDAAG;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;ACjBuC;AACrE;AACA,oCAAoC;AACpC;AACA;AACA,aAAa,iFAAkB;AAC/B;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;ACTkC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,gCAAgC,iEAAU,WAAW,iEAAU;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACxDnB;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACHnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;ACrBrB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;;;AChByB;AACF;AACR;AACvC;AACA,oBAAoB,8DAAY;AAChC;AACA,YAAY,2DAAQ;AACpB;AACA,YAAY,mDAAI;AAChB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;;;;;;ACtBoB;AACiB;AACV;AACA;AACF;AACG;AACG;AACR;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAG;AACf;AACA;AACA;AACA,uBAAuB,qEAAY;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA,0CAA0C,2DAAQ;AAClD;AACA,oBAAoB,yDAAO;AAC3B;AACA;AACA,yCAAyC,uBAAuB;AAChE;AACA;AACA;AACA,wBAAwB,4DAAO;AAC/B,wBAAwB,oDAAG;AAC3B;AACA;AACA;AACA;AACA,oBAAoB,+DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,yDAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA,oBAAoB,oDAAG;AACvB;AACA,qBAAqB,uDAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,sDAAsD,2DAAQ;AAC9D;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oDAAG;AAC3B;AACA;AACA;AACA,iCAAiC,2DAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,+CAA+C,2DAAQ;AACvD;AACA;AACA;AACA,8CAA8C,2DAAQ;AACtD;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,2DAAQ;AACtD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;AC5LxB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXwB;AACN;AACM;AACK;AACX;AACI;AACC;AACM;AACY;AACX;AACX;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,yDAAM;AACzC;AACA;AACA;AACA,YAAY,mDAAI;AAChB;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,aAAa;AACb;AACA;AACA;AACA,YAAY,yDAAM;AAClB;AACA,uBAAuB,yDAAM;AAC7B;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,YAAY,8DAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,gBAAgB,mDAAI;AACpB;AACA;AACA,SAAS;AACT,QAAQ,mDAAI;AACZ;AACA,gBAAgB,uDAAM;AACtB,aAAa;AACb,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,YAAY,wDAAM;AAClB,SAAS;AACT;AACA,YAAY,wDAAM;AAClB,SAAS;AACT,QAAQ,wDAAM;AACd,YAAY,8DAAQ;AACpB;AACA,gBAAgB,0EAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,mBAAmB;AACxG,4BAA4B,mDAAI,YAAY,yDAAM,GAAG,yCAAyC,kBAAkB;AAChH;AACA,wDAAwD,+DAAU;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qDAAG;AACf;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;;ACvL+B;AACI;AACZ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc;AACd;AACA;AACA,QAAQ,2DAAQ;AAChB,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,+DAAU;AAClB,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oDAAO;AAClB;AACgB;;;;;;;;;;;;;;;;;;ACrD6B;AACE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,QAAQ,yDAAO;AACf;AACA,aAAa,2DAAQ;AACrB;AACA;AACA,aAAa,2DAAQ;AACrB;AACA;AACA,0BAA0B,UAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;ACtD6B;AACE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,QAAQ,yDAAO;AACf;AACA,aAAa,2DAAQ;AACrB;AACA;AACA,aAAa,2DAAQ;AACrB;AACA;AACA,0BAA0B,UAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;ACtDkD;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA,IAAI;AACJ;AACA;AACA,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc;AACd;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA,2CAA2C,+EAAiB;AAC5D;AACA;AACA;AACA,wCAAwC,oBAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;ACtCoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA,IAAI;AACJ;AACA;AACA,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc;AACd;AACA;AACA,gCAAgC;AAChC,WAAW,oDAAO;AAClB;AACoB;;;;;;;;;;;;;;;;;ACxBmB;AACvC;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,aAAa,QAAQ;AACrB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;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,iDAAiD;AACjD;AACA;AACA;AACA,qFAAqF;AACrF;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,8BAA8B,kBAAkB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,0CAA0C;AAC1C;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,8BAA8B,6DAA6D;AAC3F;AACA,eAAe,mDAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2B;;;;;;;;;;;;;;;;ACpN3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;AClByB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;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,SAAS,2DAAQ;AACjB;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,KAAK;AACL;AACiB;;;;;;;;;;;;;;;;ACzHjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc;AACd;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACxBnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;ACvBrB;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;ACZqB;AAC7C;AACA;AACA,IAAI,yDAAO;AACX;AACA,KAAK;AACL;AACqB;;;;;;;;;;;;;;;;;;;;ACP0B;AACA;AACY;AAChB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB,GAAG,qBAAqB;AACxE;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB,GAAG,qBAAqB;AACxE;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB,GAAG,qBAAqB;AACxE;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW,GAAG,qBAAqB;AAC9D;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA,0BAA0B;AAC1B,aAAa,4DAAW,gBAAgB,4DAAW;AACnD,yBAAyB,2DAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uEAAa;AAClC,qBAAqB,uEAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uDAAM;AAC1B;AACA,yBAAyB,uDAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;;;;;;;;;;;;;;;;;;AC9Ea;AACQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAA4B;AAClC,MAAM,kCAAkC;AACxC,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8BAA8B,uBAAuB;AAC3D,MAAM,yBAAyB;AAC/B,MAAM,6BAA6B,uBAAuB;AAC1D,MAAM,gCAAgC;AACtC;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA,IAAI,mDAAI;AACR,eAAe,4DAAW;AAC1B,KAAK;AACL;AACA;AACyB;;;;;;;;;;;;;;;;;ACxCY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iDAAiD;AAC7E;AACA;AACA;AACA;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACA,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB;AACA;AACA;AACA;AACA;AACA,QAAQ,kDAAM;AACd;AACA;AACA;AACA,QAAQ,kDAAM;AACd;AACA;AACsB;;;;;;;;;;;;;;;;;AC3CqC;AAC3D;AACA,iCAAiC;AACjC,WAAW,wEAAiB;AAC5B;AACsB;;;;;;;;;;;;;;;;;;;;ACLuB;AACE;AACR;AACM;AAC7C;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yDAAO;AAChB;AACA;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yDAAM;AAC9B,wBAAwB,yDAAM;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;ACrD8B;AAC3D;AACA,iCAAiC;AACjC,cAAc,wEAAiB;AAC/B;AACA;AACA;AACA;AACA;AAC2B;;;;;;;;;;;;;;;;;;ACTc;AACF;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qDAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mDAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;;;;;;;;;;;;;;;;;;;ACpCiB;AACE;AACV;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,QAAQ,yDAAO;AACf;AACA;AACA,SAAS;AACT;AACA,QAAQ,2DAAQ;AAChB;AACA,eAAe,kDAAM;AACrB;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;;;;;AChC4B;AACc;AAChB;AACI;AACJ;AAC3C;AACA;AACA;AACA,yDAAyD;AACzD;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,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAO,QAAQ,yDAAO;AACtC;AACA;AACA,mBAAmB,uEAAa,2BAA2B,uEAAa;AACxE;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA,mBAAmB,uEAAa,2BAA2B,uEAAa;AACxE;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA,mBAAmB,uEAAa,2BAA2B,uEAAa;AACxE;AACA;AACA;AACA;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA,mBAAmB,uEAAa,uBAAuB,uEAAa;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2DAAQ;AACxB,uBAAuB,uDAAM;AAC7B;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;;;ACrJ0B;AACN;AACA;AACQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,6DAA6D,6BAA6B;AAC1F;AACA,6DAA6D,6BAA6B;AAC1F;AACA,6DAA6D,WAAW;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,gDAAgD,yDAAO;AACvD;AACA;AACA;AACA,IAAI,mDAAI;AACR;AACA,4BAA4B,yDAAO;AACnC;AACA;AACA;AACA,yBAAyB,oDAAO,CAAC,4DAAW;AAC5C;AACA;AACA;AACA;AACA,oBAAoB,mDAAI,sBAAsB,0BAA0B;AACxE;AACA,sFAAsF;AACtF,oBAAoB,4DAAW;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AAC6B;;;;;;;;;;;;;;;;;ACrFQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,WAAW,kDAAM;AACjB;AACiB;;;;;;;;;;;;;;;;;AC5DjB,qBAAqB,SAAI,IAAI,SAAI;AACjC,6EAA6E,OAAO;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACqC;AACrC;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,QAAQ,8CAAM;AACd;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;;;ACrBa;AACE;AACM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,eAAe,kDAAM;AACrB;AACA;AACA;AACA,IAAI,mDAAI;AACR,YAAY,yDAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACoB;;;;;;;;;;;;;;;;;AC9E6B;AACjD;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA,IAAI,6DAAS;AACb,IAAI,6DAAS;AACb;AACA;AACsB;;;;;;;;;;;;;;;;;;;;;;ACZqB;AACM;AACE;AACN;AACJ;AACU;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,8BAA8B,uBAAuB;AAC5D,OAAO,6BAA6B;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe;AACf;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,uDAAM,YAAY,uDAAM;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,8DAAY;AAC3B,SAAS,+DAAU,WAAW,+DAAU;AACxC,YAAY,yDAAO,UAAU,yDAAO;AACpC;AACA;AACA,0BAA0B,8DAAY;AACtC;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,YAAY,qDAAK,UAAU,qDAAK;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+DAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+DAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,gEAAa;AACjD;AACmB;;;;;;;;;;;;;;;;;;;;ACzK0B;AACA;AACN;AACQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,qBAAqB;AAC3B,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB;AAC9B,MAAM;AACN;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,uBAAuB,oCAAoC;AAC3D,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA,MAAM;AACN;AACA,uBAAuB,yCAAyC;AAChE;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C,wBAAwB,yCAAyC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,uBAAuB,oCAAoC;AAC3D,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA,MAAM;AACN;AACA,uBAAuB,yCAAyC;AAChE;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C,wBAAwB,uDAAuD;AAC/E;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,QAAQ,yDAAO;AACf;AACA,oBAAoB,yDAAO;AAC3B,+BAA+B,yDAAO;AACtC,oBAAoB,mDAAI;AACxB;AACA;AACA,gCAAgC,yDAAO;AACvC,qCAAqC,yDAAO;AAC5C;AACA;AACA;AACA,sCAAsC,2DAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,yBAAyB,2DAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;ACjK6B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,yCAAyC,4BAA4B;AAC3E,qBAAqB,yCAAyC,SAAS,GAAG,mBAAmB,oBAAoB;AACjH;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,aAAa,2DAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;;;AC5CwB;AACN;AACsB;AACF;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA,sBAAsB,6BAA6B;AACnD;AACA,SAAS,mFAAmF;AAC5F,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iEAAiE;AAC1E,SAAS,iEAAiE;AAC1E;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,SAAS,yDAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mDAAI;AAChB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,kBAAkB,0EAAkB;AACpC;AACA,gBAAgB,mDAAI;AACpB,wBAAwB,wEAAiB;AACzC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;;;AC/F6B;AACF;AACA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,+BAA+B;AAC/B,SAAS,2DAAQ;AACjB;AACA;AACA,+BAA+B,yDAAO;AACtC;AACA,QAAQ,yDAAO;AACf,gBAAgB,2DAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;;;ACpEO;AACE;AACM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,kBAAkB,kDAAM;AACxB;AACA;AACA;AACA,IAAI,mDAAI;AACR,YAAY,yDAAO;AACnB;AACA;AACA,KAAK;AACL;AACA;AACmB;;;;;;;;;;;;;;;;;ACzEkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,mFAAmF;AAC1F,OAAO,iEAAiE;AACxE,OAAO,iEAAiE;AACxE,OAAO;AACP;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC,eAAe,0BAA0B;AACzC,eAAe,0BAA0B;AACzC,eAAe,0BAA0B;AACzC,eAAe,0BAA0B;AACzC,eAAe;AACf;AACA;AACA,2BAA2B;AAC3B,0BAA0B;AAC1B,+BAA+B;AAC/B;AACA,sBAAsB,kDAAM;AAC5B;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;ACvC6B;AACZ;AACE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA,sCAAsC,WAAW;AACjD;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc;AACd;AACA;AACA,IAAI,6DAAS;AACb;AACA,cAAc,kDAAM;AACpB;AACA;AACA,IAAI,mDAAI,qBAAqB,oEAAoE;AACjG;AACA;AAC0B;;;;;;;;;;;;;;;;;ACxCuB;AACjD;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA,IAAI,6DAAS;AACb,IAAI,6DAAS;AACb;AACA;AACmB;;;;;;;;;;;;;;;;ACZnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA,uBAAuB,UAAU,IAAI,cAAc;AACnD;AACA;AACA;AACA;AACA,uBAAuB,UAAU,IAAI,cAAc;AACnD;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACuB;;;;;;;;;;;;;;;;;AC9Cc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA,sBAAsB,6BAA6B;AACnD,OAAO,mFAAmF;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,OAAO,iEAAiE;AACxE;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,cAAc,kDAAM;AACpB;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;AClD2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe,0BAA0B;AACzC,eAAe,6BAA6B;AAC5C,eAAe,yBAAyB;AACxC;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE,oBAAoB,iDAAiD;AACrE,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc;AACd;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,uCAAuC,yDAAO;AAC9C;AACA;AACA;AACA,KAAK;AACL;AACe;;;;;;;;;;;;;;;;ACnFf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAA4B;AAClC,MAAM,kCAAkC;AACxC,MAAM;AACN;AACA;AACA,SAAS,4BAA4B;AACrC,SAAS,mCAAmC;AAC5C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;AC1CqC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAA4B;AAClC,MAAM,kCAAkC;AACxC,MAAM,mCAAmC;AACzC,MAAM,yBAAyB;AAC/B,MAAM,wCAAwC;AAC9C,MAAM;AACN;AACA;AACA,MAAM,2BAA2B;AACjC,MAAM;AACN;AACA;AACA,SAAS,kCAAkC;AAC3C,SAAS,wCAAwC;AACjD,SAAS,4BAA4B;AACrC,SAAS,mCAAmC;AAC5C,SAAS,yBAAyB;AAClC,SAAS;AACT;AACA,0BAA0B,2BAA2B;AACrD;AACA;AACA;AACA,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0BAA0B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,6BAA6B;AACvF;AACA,kBAAkB,iEAAc;AAChC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACsB;;;;;;;;;;;;;;;;;;;;ACrEuB;AACJ;AACE;AACN;AACrC;AACA,SAAS,yDAAO;AAChB;AACA;AACA,iDAAiD,QAAQ,qDAAI,gBAAgB;AAC7E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,qDAAI;AAC3B;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C,iCAAiC,uDAAM;AACvC;AACA,4BAA4B,kDAAM;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;AC3CvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iDAAiD;AAC3E;AACA;AACA;AACA;AACA,0BAA0B,qEAAqE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;ACnC4B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAA4B;AAClC,MAAM,kCAAkC;AACxC,MAAM;AACN;AACA;AACA,SAAS,kCAAkC;AAC3C,SAAS,4BAA4B;AACrC,SAAS;AACT;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,mBAAmB,iEAAc;AACjC,SAAS;AACT;AACA;AACA;AACiB;;;;;;;;;;;;;;;;ACpCjB;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;;ACLwB;AACE;AACI;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB,QAAQ;AACrD,QAAQ,qBAAqB;AAC7B;AACA;AACA,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;AACA,QAAQ,yDAAO;AACf,wBAAwB,gBAAgB;AACxC;AACA;AACA,oBAAoB,yDAAO;AAC3B;AACA;AACA;AACA;AACA,yBAAyB,2DAAQ;AACjC,wBAAwB,gEAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;AC9CsB;AAC7C;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,QAAQ;AACR;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,gBAAgB,yDAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;;;;;;ACzCsB;AACQ;AACE;AACd;AACI;AACJ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,sBAAsB,6BAA6B;AACnD;AACA;AACA,sBAAsB,yCAAyC;AAC/D;AACA;AACA,sBAAsB,6BAA6B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,gCAAgC;AAChC,SAAS,+DAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wEAAiB,GAAG,UAAU,EAAE,0EAAkB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,YAAY,2DAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2DAAQ,YAAY,gEAAa;AAClD,YAAY,2DAAQ;AACpB;AACA;AACA;AACA,aAAa,2DAAQ;AACrB;AACA;AACA;AACA,oCAAoC,gBAAgB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,0EAAkB;AACvC,oCAAoC,gBAAgB;AACpD,oBAAoB,wEAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACnLlB;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA,+BAA+B;AAC/B,mCAAmC;AACnC;AACA;AACA;AACA;AACA,KAAK;AACL;AACmB;;;;;;;;;;;;;;;;;AClBoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA,uBAAuB,UAAU,IAAI,cAAc;AACnD;AACA;AACA;AACA;AACA,uBAAuB,UAAU,IAAI,cAAc;AACnD;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACuB;;;;;;;;;;;;;;;;;;;;ACjDY;AACI;AACQ;AACA;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B;AACA;AACA,0BAA0B;AAC1B,YAAY,gDAAK;AACjB,IAAI,mDAAI;AACR,YAAY,2DAAQ;AACpB,mBAAmB,2DAAO;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACsB;;;;;;;;;;;;;;;;ACxCtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;ACboB;AACF;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,sDAAsD;AAC5D,MAAM,kDAAkD;AACxD,MAAM,mDAAmD;AACzD,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA,OAAO,gDAAgD;AACvD,OAAO,6CAA6C;AACpD,OAAO,4CAA4C;AACnD,OAAO;AACP;AACA;AACA;AACA;AACA,gDAAgD,YAAY;AAC5D;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA;AACA,IAAI,mDAAI,CAAC,kDAAM;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACe;;;;;;;;;;;;;;;;ACxDf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK;AACL;AACkB;;;;;;;;;;;;;;;;;;ACrB6B;AACV;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,gBAAgB,2DAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kDAAM;AACzB,mBAAmB,kDAAM;AACzB;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;ACtCyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,WAAW,0DAAU,iBAAiB,0DAAU,gBAAgB,0DAAU;AAC1E;AACiB;;;;;;;;;;;;;;;;ACrBjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACsB;;;;;;;;;;;;;;;;ACzBtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACoB;;;;;;;;;;;;;;;;AC1BpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,8BAA8B,EAAE,kBAAkB,yBAAyB;AAC3E;AACuB;;;;;;;;;;;;;;;;ACnBvB;AACA;AACA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA,6BAA6B;AAC7B;AACiB;;;;;;;;;;;;;;;;;;ACnB8B;AACV;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,QAAQ,2DAAQ;AAChB,eAAe,kDAAM;AACrB,mBAAmB,kDAAM;AACzB;AACA;AACA;AACA,mBAAmB,kDAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;AChC4B;AAC/C;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;ACPzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,mCAAmC,EAAE;AACrC;AACwB;;;;;;;;;;;;;;;;;ACpBuB;AAC/C;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;ACPsB;AAC/C;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;;;;ACPgB;AACA;AACE;AACM;AAC/C;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mDAAI,CAAC,oDAAO;AAChB;AACA,KAAK;AACL,eAAe,sDAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2DAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;AC9C0B;AAC/C;AACA;AACA;AACA,4CAA4C;AAC5C;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,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;AC9C8B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,6DAAS;AACrB;AACA,SAAS;AACT;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACblB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;;ACpBwB;AACA;AAC/C;AACA,QAAQ,2DAAQ;AAChB;AACA;AACA,QAAQ,2DAAQ;AAChB;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;;;ACXmB;AACF;AAC0B;AACpB;AAC7C;AACA;AACA,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qDAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mDAAI;AACzB;AACA;AACA;AACA;AACA,uDAAuD,6EAAgB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0DAAU;AACrB;AACgB;;;;;;;;;;;;;;;;ACvChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;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,oBAAoB,eAAe;AACnC;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;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;AACA;AACA;AACA;AACA;AACe;;;;;;;;;;;;;;;;;AC7I8B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,WAAW,0DAAU;AACrB;AACiB;;;;;;;;;;;;;;;;ACnBjB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,4BAA4B,MAAM;AAClC;AACA,KAAK;AACL;AACkB;;;;;;;;;;;;;;;;;ACd2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;AACA,kBAAkB,UAAU,QAAQ;AACpC;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA,aAAa,0DAAU,YAAY;AACnC;AACA;AACA,aAAa,0DAAU,aAAa;AACpC;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;ACtC0B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,6DAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,6DAAS;AAC1B;AACA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;;ACvEuB;AACP;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACA,YAAY,oDAAG;AACf;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;AC7BzB;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;ACRkB;AAC/C;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;ACPO;AACrC;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAM;AACrB,iBAAiB,kDAAM;AACvB;AACA,eAAe,kDAAM;AACrB,iBAAiB,kDAAM;AACvB;AACA;AACA;AACA;AAC+B;;;;;;;;;;;;;;;;ACxB/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;;ACjB6B;AACE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,eAAe;AAC7B,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,iBAAiB,2DAAQ,2BAA2B,8DAAY;AAChE;AACsB;;;;;;;;;;;;;;;;;;AC7B6B;AAClB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA,gCAAgC;AAChC,+BAA+B,KAAK;AACpC;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gEAAa;AAC3B;AACA;AACA,WAAW,8CAAI;AACf;AACoB;;;;;;;;;;;;;;;;;;AClC2B;AACV;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,2DAAQ;AAC1C;AACA;AACA;AACA,iBAAiB,kDAAM;AACvB;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;ACzC4B;AACA;AAC/C;AACA,gBAAgB,4DAAW;AAC3B,gBAAgB,4DAAW;AAC3B;AACA;AACsB;;;;;;;;;;;;;;;;ACPtB;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACuB;;;;;;;;;;;;;;;;ACTvB;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;;;ACTwB;AACN;AACD;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,SAAS,2DAAQ,UAAU,qDAAK;AAChC,QAAQ,oDAAG;AACX;AACA;AACA;AACA;AACA;AACA,SAAS,qDAAK;AACd;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;ACrCmB;AACrC;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,kDAAM;AACpB;AACA;AACA,cAAc,kDAAM;AACpB;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;;ACpB6B;AACN;AACR;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,aAAa;AACnD;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mDAAI;AACpB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA,WAAW,4CAAG;AACd;AACsB;;;;;;;;;;;;;;;;;;ACvDqC;AACd;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,QAAQ,uEAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yDAAO;AACf;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,8BAA8B;AAC9B;AACA;AACA,mBAAmB;AACnB;AACA,mBAAmB;AACnB;AACA,mBAAmB;AACnB;AACA,mBAAmB;AACnB,SAAS;AACT;AACA;AACqB;;;;;;;;;;;;;;;;;;AC3E0B;AACF;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA,QAAQ,2DAAQ;AAChB,QAAQ,yDAAO;AACf;AACA,SAAS;AACT;AACA;AACoB;;;;;;;;;;;;;;;;ACnBpB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA;AACA;AACA,gDAAgD;AAChD,iCAAiC;AACjC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,KAAK;AACL;AACsB;;;;;;;;;;;;;;;;AC9BtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,WAAW,UAAU;AAC1D;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;ACvClB,WAAW,MAAM;AACwC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mBAAmB;AAChD;AACA,2CAA2C,qEAAY,WAAW;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;ACvCrB;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;ACXrB;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;;;;;;;;;;;;;;;;ACxB5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;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;AAC4B;;;;;;;;;;;;;;;;;AC5CmB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,UAAU,2DAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;AClBwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,UAAU,2DAAQ;AAClB;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;ACfqB;AACJ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,wDAAS;AAC3C;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACrClB;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;;;;;;ACbkB;AACA;AACM;AACJ;AACc;AACX;AACJ;AACxC;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA,SAAS,oDAAO;AAChB;AACA;AACA;AACA,IAAI,mDAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sDAAQ,QAAQ,0DAAU,eAAe,mEAAW;AACtE,YAAY,wDAAK;AACjB;AACA,+BAA+B,mEAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,QAAQ,oDAAG;AACX;AACA,YAAY,oDAAG;AACf;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC/DrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;AC3BnB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACtBlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,yBAAyB;AACzB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC7BrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;AC7BqB;AACzC;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,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,sCAAsC,EAAE,WAAW,EAAE,eAAe,IAAI,aAAa,IAAI,aAAa,IAAI,qBAAqB,IAAI,aAAa,IAAI,aAAa,IAAI,aAAa,IAAI;AACtL,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACjDnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;AC3Bc;AACnC;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA,oBAAoB,gDAAK;AACzB;AACA;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;ACtBhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;ACjCuC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA,aAAa,sEAAgB;AAC7B;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;AC5BvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;AC3BwB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,uEAAuE,IAAI;AAC3E,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;ACzCoB;AACoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,GAAG;AACjB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAO;AACf;AACA;AACA;AACA,YAAY,uEAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACxDnB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACtBnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;AC7BmB;AACR;AACjC;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA,aAAa,8CAAI;AACjB;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;ACpBmB;AACzC;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;AChBhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;AC/BjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;AC3CtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;AC3BlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;AClCpB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;AChCpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC3BrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;AC/BvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;AC/BkB;AACvC;AACA;AACA,IAAI,mDAAI;AACR;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACsB;;;;;;;;;;;;;;;;ACXtB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA,gCAAgC,EAAE;AAClC;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;;ACxBoB;AACF;AACsB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,8BAA8B;AACrC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,6DAA6D;AACpE,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,2CAA2C;AAClD,OAAO;AACP;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qDAAI,WAAW,qDAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,mBAAmB,yEAAe;AAClC,mBAAmB,yEAAe;AAClC;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;AC7ElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;AC3BpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;AC5BpB;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;;ACfwB;AACI;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,qCAAqC,sDAAQ,CAAC,yDAAM;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;;;;;;;;;;;;;;;;;ACvBa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa;AACb;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;AC1Cc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,sCAAsC,kDAAM;AAC5C;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACxCnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,oBAAoB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,oBAAoB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;AChDjB;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;AACe;;;;;;;;;;;;;;;;AC1Bf;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,KAAK;AACL;AACA;AACA;AACA;AACA,0DAA0D,GAAG;AAC7D,mBAAmB,IAAI,KAAK,EAAE,IAAI,IAAI;AACtC;AACA,mBAAmB;AACnB;AACA,+BAA+B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE;AAC3E,qCAAqC,KAAK,6BAA6B,KAAK;AAC5E;AACA;AACgB;;;;;;;;;;;;;;;;;;;;AC9DgB;AACI;AACF;AACa;;AAE/C;AACA,QAAQ,gDAAW;AACnB,OAAO,+CAAU;AACjB;;AAEA,iDAAK;AACL;AACA;AACA,yCAAyC,MAAM;AAC/C,MAAM;AACN;AACA;AACA,8CAA8C,MAAM;AACpD;AACA,CAAC;;AAED,sCAAsC,OAAO;;AAE7C,sCAAsC,iDAAK;;AAE3C,iEAAe;AACf;AACA,eAAe,iDAAK;;AAEpB,WAAW,QAAQ;AACnB;AACA;;AAEA;;AAEA,oBAAoB,YAAY;AAChC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,oBAAoB,2DAAU,qBAAqB,GAAG;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC,IAAI;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,2DAAU;AAC1B;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5EY;;AAEqB;AACO;AACK;AACE;AACK;AACS;AACC;AAChB;AACQ;AACC;AACZ;AACO;AACC;;AAEpD;AACA;AACA,uBAAuB,mEAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,iEAAe;AACf;AACA;AACA,2BAA2B,6DAAY;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,QAAQ,iDAAK;AACb,UAAU,0DAAQ,yBAAyB,0DAAQ;AACnD,8CAA8C;AAC9C,QAAQ;AACR,8DAA8D;AAC9D,QAAQ,QAAQ,iDAAK;AACrB;AACA,sFAAsF;AACtF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,kEAAa;;AAElC,8CAA8C,gEAAQ;;AAEtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;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;AACA,iBAAiB,2DAAU,kBAAkB,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ACA,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;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;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;;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;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;;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;;;;;;;;;;;;;;;;;ACxMR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnGb;;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;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;;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;;;;;;;;;;;;;;;;;ACzSf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;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;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,kBAAkB,qEAAa;AAC/B,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpBa;;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,oDAAoD,wDAAY;;AAEhE;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,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;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;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACxGa;;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;;AAEqB;AACU;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;AACA;AACA;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,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,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;;;;;;;;;;;;;;;;AC9JX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;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;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACda;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;;AAEA,yCAAyC;AACzC,OAAO;;AAEP;AACA,4DAA4D,wBAAwB;AACpF;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B,cAAc;AAC5C;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;;ACnDM;;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;AACA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf;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;;;;;;;;;;;;;;;;AC3FjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACda;;AAEqB;;AAElC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;;ACba;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB,SAAS;AACzB;AACA;AACA,sBAAsB,iDAAK;AAC3B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;AClEP;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEqB;;AAElC;AACA;AACA,0BAA0B,iDAAK;AAC/B;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACtDW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;ACLa;;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;;AAEmB;AACe;AAC/C;AACoE;;AAEpE;A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C;;;;;;;;;;;;;;;;AC1FU;;AAEZ,iEAAe,yCAAyC;;;;;;;;;;;;;;;;ACF3C;;AAEb,iEAAe,iDAAiD,EAAC;;;;;;;;;;;;;;;;;ACFpD;;AAE+D;AAC5E,iEAAe,2DAA2D,wEAAoB,EAAC;;;;;;;;;;;;;;;;;;;ACHrC;AACd;AACR;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD,iEAAe;AACf;AACA;AACA,mBAAmB;AACnB,YAAY;AACZ,QAAQ;AACR,GAAG;AACH;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;;AC/DW;;AAEwB;;AAErC;;AAEA,OAAO,UAAU;AACjB,OAAO,gBAAgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;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;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;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;;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;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;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,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;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,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;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,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;;;AAGA;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;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;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;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;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,CAAC,EAAC;;;;;;;UCltBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN0B;AACA;AACsB;AACE;AACF;AACE;AACE;AACN;AACM;AACU;AAClB;AACc;AACF;AACR;AACQ;AAClB;AACc;AACpD,yCAAY,CAAC,qDAAQ;AACrB,yCAAY,CAAC,sDAAS;AACtB,yCAAY,CAAC,qDAAQ;AACrB,yCAAY,CAAC,sDAAS;AACtB,yCAAY,CAAC,uDAAU;AACvB,yCAAY,CAAC,oDAAO;AACpB,yCAAY,CAAC,uDAAU;AACvB,yCAAY,CAAC,4DAAe;AAC5B,yCAAY,CAAC,mDAAM;AACnB,yCAAY,CAAC,2DAAa;AAC1B,yCAAY,CAAC,0DAAY;AACzB,yCAAY,CAAC,sDAAQ;AACrB,yCAAY,CAAC,0DAAY;AACzB,yCAAY,CAAC,iDAAG;AAChB,yCAAY,CAAC,wDAAU;AACI;AACA;AACI;AACE;AACF;AACF;AACA;AAC7B;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW;AACX,OAAO,mCAAC;AACR,OAAO,qCAAC;AACR,SAAS,yCAAG;AACZ,SAAS,2CAAI;AACb,SAAS,yCAAG;AACZ,QAAQ,uCAAE;AACV,QAAQ,uCAAE;AACV;AACA;AACA,mBAAmB,8CAAK;AACxB,mBAAmB,kCAAK;AACxB;AACA;AAC6C","sources":["webpack://bbn.axios.dayjs/./node_modules/dayjs/dayjs.min.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/calendar.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/dayOfYear.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/duration.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/isBetween.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/isLeapYear.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/isoWeek.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/localeData.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/localizedFormat.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/minMax.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/quarterOfYear.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/relativeTime.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/timezone.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/updateLocale.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/utc.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/weekOfYear.js","webpack://bbn.axios.dayjs/./dist/$.js","webpack://bbn.axios.dayjs/./dist/_.js","webpack://bbn.axios.dayjs/./dist/db.js","webpack://bbn.axios.dayjs/./dist/env.js","webpack://bbn.axios.dayjs/./dist/fn.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/_addLoader.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/_deleteLoader.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/abort.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/abortURL.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/ajax.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/callback.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/download.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/downloadContent.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/getLoader.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/getRequestId.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/link.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/post.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/postOut.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/setNavigationVars.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/treatAjaxArguments.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/upload.js","webpack://bbn.axios.dayjs/./dist/fn/browser/copy.js","webpack://bbn.axios.dayjs/./dist/fn/browser/eraseCookie.js","webpack://bbn.axios.dayjs/./dist/fn/browser/error.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getBrowserName.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getBrowserVersion.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getCookie.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getDeviceType.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getEventData.js","webpack://bbn.axios.dayjs/./dist/fn/browser/happy.js","webpack://bbn.axios.dayjs/./dist/fn/browser/history.js","webpack://bbn.axios.dayjs/./dist/fn/browser/info.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isActiveInterface.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isDesktopDevice.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isFocused.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isMobile.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isMobileDevice.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isTabletDevice.js","webpack://bbn.axios.dayjs/./dist/fn/browser/log.js","webpack://bbn.axios.dayjs/./dist/fn/browser/replaceSelection.js","webpack://bbn.axios.dayjs/./dist/fn/browser/selectElementText.js","webpack://bbn.axios.dayjs/./dist/fn/browser/setCookie.js","webpack://bbn.axios.dayjs/./dist/fn/browser/toggleFullScreen.js","webpack://bbn.axios.dayjs/./dist/fn/browser/warning.js","webpack://bbn.axios.dayjs/./dist/fn/convert/arrayBuffer2String.js","webpack://bbn.axios.dayjs/./dist/fn/convert/canvasToImage.js","webpack://bbn.axios.dayjs/./dist/fn/convert/colorToHex.js","webpack://bbn.axios.dayjs/./dist/fn/convert/fromXml.js","webpack://bbn.axios.dayjs/./dist/fn/convert/hex2rgb.js","webpack://bbn.axios.dayjs/./dist/fn/convert/imageToCanvas.js","webpack://bbn.axios.dayjs/./dist/fn/convert/imgToBase64.js","webpack://bbn.axios.dayjs/./dist/fn/convert/rgb2hex.js","webpack://bbn.axios.dayjs/./dist/fn/convert/string2ArrayBuffer.js","webpack://bbn.axios.dayjs/./dist/fn/convert/toCSV.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/calendar.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/chrono.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/date.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/dateSQL.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/daysInMonth.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/fdate.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/fdatetime.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/formatDate.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/ftime.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/getDay.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/timestamp.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultAjaxAbortFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultAjaxErrorFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultAlertFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultConfirmFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultEndLoadingFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultErrorFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultHistoryFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultLinkFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultPostLinkFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultPreLinkFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultResizeFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultStartLoadingFunction.js","webpack://bbn.axios.dayjs/./dist/fn/form/addInputs.js","webpack://bbn.axios.dayjs/./dist/fn/form/fieldValue.js","webpack://bbn.axios.dayjs/./dist/fn/form/formdata.js","webpack://bbn.axios.dayjs/./dist/fn/form/objectToFormData.js","webpack://bbn.axios.dayjs/./dist/fn/form/submit.js","webpack://bbn.axios.dayjs/./dist/fn/html/adjustHeight.js","webpack://bbn.axios.dayjs/./dist/fn/html/adjustSize.js","webpack://bbn.axios.dayjs/./dist/fn/html/adjustWidth.js","webpack://bbn.axios.dayjs/./dist/fn/html/getAllTags.js","webpack://bbn.axios.dayjs/./dist/fn/html/getAncestors.js","webpack://bbn.axios.dayjs/./dist/fn/html/getAttributes.js","webpack://bbn.axios.dayjs/./dist/fn/html/getHTMLOfSelection.js","webpack://bbn.axios.dayjs/./dist/fn/html/getHtml.js","webpack://bbn.axios.dayjs/./dist/fn/html/getPath.js","webpack://bbn.axios.dayjs/./dist/fn/html/getText.js","webpack://bbn.axios.dayjs/./dist/fn/html/html2text.js","webpack://bbn.axios.dayjs/./dist/fn/html/isInViewport.js","webpack://bbn.axios.dayjs/./dist/fn/html/isInside.js","webpack://bbn.axios.dayjs/./dist/fn/html/makeReactive.js","webpack://bbn.axios.dayjs/./dist/fn/html/selector.js","webpack://bbn.axios.dayjs/./dist/fn/init.js","webpack://bbn.axios.dayjs/./dist/fn/loop/each.js","webpack://bbn.axios.dayjs/./dist/fn/loop/fori.js","webpack://bbn.axios.dayjs/./dist/fn/loop/forir.js","webpack://bbn.axios.dayjs/./dist/fn/loop/iterate.js","webpack://bbn.axios.dayjs/./dist/fn/loop/riterate.js","webpack://bbn.axios.dayjs/./dist/fn/misc/analyzeFunction.js","webpack://bbn.axios.dayjs/./dist/fn/misc/getTimeoff.js","webpack://bbn.axios.dayjs/./dist/fn/misc/money.js","webpack://bbn.axios.dayjs/./dist/fn/misc/percent.js","webpack://bbn.axios.dayjs/./dist/fn/misc/randomInt.js","webpack://bbn.axios.dayjs/./dist/fn/misc/roundDecimal.js","webpack://bbn.axios.dayjs/./dist/fn/misc/translate.js","webpack://bbn.axios.dayjs/./dist/fn/object/_compareValues.js","webpack://bbn.axios.dayjs/./dist/fn/object/arrayFromProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/autoExtend.js","webpack://bbn.axios.dayjs/./dist/fn/object/checkProps.js","webpack://bbn.axios.dayjs/./dist/fn/object/checkPropsDetails.js","webpack://bbn.axios.dayjs/./dist/fn/object/checkPropsOrDie.js","webpack://bbn.axios.dayjs/./dist/fn/object/circularReplacer.js","webpack://bbn.axios.dayjs/./dist/fn/object/clone.js","webpack://bbn.axios.dayjs/./dist/fn/object/compare.js","webpack://bbn.axios.dayjs/./dist/fn/object/compareConditions.js","webpack://bbn.axios.dayjs/./dist/fn/object/count.js","webpack://bbn.axios.dayjs/./dist/fn/object/createObject.js","webpack://bbn.axios.dayjs/./dist/fn/object/deepPath.js","webpack://bbn.axios.dayjs/./dist/fn/object/deleteProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/diffObj.js","webpack://bbn.axios.dayjs/./dist/fn/object/extend.js","webpack://bbn.axios.dayjs/./dist/fn/object/extendOut.js","webpack://bbn.axios.dayjs/./dist/fn/object/filter.js","webpack://bbn.axios.dayjs/./dist/fn/object/filterToConditions.js","webpack://bbn.axios.dayjs/./dist/fn/object/findAll.js","webpack://bbn.axios.dayjs/./dist/fn/object/getField.js","webpack://bbn.axios.dayjs/./dist/fn/object/getFieldValues.js","webpack://bbn.axios.dayjs/./dist/fn/object/getProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/getProperty.js","webpack://bbn.axios.dayjs/./dist/fn/object/getRow.js","webpack://bbn.axios.dayjs/./dist/fn/object/map.js","webpack://bbn.axios.dayjs/./dist/fn/object/move.js","webpack://bbn.axios.dayjs/./dist/fn/object/multiorder.js","webpack://bbn.axios.dayjs/./dist/fn/object/mutateArray.js","webpack://bbn.axios.dayjs/./dist/fn/object/numProperties.js","webpack://bbn.axios.dayjs/./dist/fn/object/order.js","webpack://bbn.axios.dayjs/./dist/fn/object/pickValue.js","webpack://bbn.axios.dayjs/./dist/fn/object/removeEmpty.js","webpack://bbn.axios.dayjs/./dist/fn/object/removePrivateProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/search.js","webpack://bbn.axios.dayjs/./dist/fn/object/setProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/setProperty.js","webpack://bbn.axios.dayjs/./dist/fn/object/shortenObj.js","webpack://bbn.axios.dayjs/./dist/fn/object/shuffle.js","webpack://bbn.axios.dayjs/./dist/fn/object/sum.js","webpack://bbn.axios.dayjs/./dist/fn/object/unique.js","webpack://bbn.axios.dayjs/./dist/fn/string/baseName.js","webpack://bbn.axios.dayjs/./dist/fn/string/br2nl.js","webpack://bbn.axios.dayjs/./dist/fn/string/camelToCss.js","webpack://bbn.axios.dayjs/./dist/fn/string/camelize.js","webpack://bbn.axios.dayjs/./dist/fn/string/correctCase.js","webpack://bbn.axios.dayjs/./dist/fn/string/crc32.js","webpack://bbn.axios.dayjs/./dist/fn/string/dirName.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeDquotes.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeRegExp.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeSquotes.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeTicks.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeUrl.js","webpack://bbn.axios.dayjs/./dist/fn/string/fileExt.js","webpack://bbn.axios.dayjs/./dist/fn/string/format.js","webpack://bbn.axios.dayjs/./dist/fn/string/formatBytes.js","webpack://bbn.axios.dayjs/./dist/fn/string/formatSize.js","webpack://bbn.axios.dayjs/./dist/fn/string/hash.js","webpack://bbn.axios.dayjs/./dist/fn/string/md5.js","webpack://bbn.axios.dayjs/./dist/fn/string/nl2br.js","webpack://bbn.axios.dayjs/./dist/fn/string/printf.js","webpack://bbn.axios.dayjs/./dist/fn/string/quotes2html.js","webpack://bbn.axios.dayjs/./dist/fn/string/randomString.js","webpack://bbn.axios.dayjs/./dist/fn/string/removeAccents.js","webpack://bbn.axios.dayjs/./dist/fn/string/removeExtraSpaces.js","webpack://bbn.axios.dayjs/./dist/fn/string/removeHtmlComments.js","webpack://bbn.axios.dayjs/./dist/fn/string/removeTrailingChars.js","webpack://bbn.axios.dayjs/./dist/fn/string/repeat.js","webpack://bbn.axios.dayjs/./dist/fn/string/replaceAll.js","webpack://bbn.axios.dayjs/./dist/fn/string/sanitize.js","webpack://bbn.axios.dayjs/./dist/fn/string/shorten.js","webpack://bbn.axios.dayjs/./dist/fn/string/simpleHash.js","webpack://bbn.axios.dayjs/./dist/fn/string/simpleHash1.js","webpack://bbn.axios.dayjs/./dist/fn/string/simpleHash2.js","webpack://bbn.axios.dayjs/./dist/fn/string/substr.js","webpack://bbn.axios.dayjs/./dist/fn/string/trim.js","webpack://bbn.axios.dayjs/./dist/fn/string/uniqString.js","webpack://bbn.axios.dayjs/./dist/fn/style/addColors.js","webpack://bbn.axios.dayjs/./dist/fn/style/addStyle.js","webpack://bbn.axios.dayjs/./dist/fn/style/animateCss.js","webpack://bbn.axios.dayjs/./dist/fn/style/center.js","webpack://bbn.axios.dayjs/./dist/fn/style/cssExists.js","webpack://bbn.axios.dayjs/./dist/fn/style/getCssVar.js","webpack://bbn.axios.dayjs/./dist/fn/style/getScrollBarSize.js","webpack://bbn.axios.dayjs/./dist/fn/style/lightenDarkenHex.js","webpack://bbn.axios.dayjs/./dist/fn/style/outerHeight.js","webpack://bbn.axios.dayjs/./dist/fn/style/outerWidth.js","webpack://bbn.axios.dayjs/./dist/fn/style/resize.js","webpack://bbn.axios.dayjs/./dist/fn/style/setCssVar.js","webpack://bbn.axios.dayjs/./dist/fn/type/checkType.js","webpack://bbn.axios.dayjs/./dist/fn/type/isArray.js","webpack://bbn.axios.dayjs/./dist/fn/type/isBlob.js","webpack://bbn.axios.dayjs/./dist/fn/type/isBoolean.js","webpack://bbn.axios.dayjs/./dist/fn/type/isCanvas.js","webpack://bbn.axios.dayjs/./dist/fn/type/isColor.js","webpack://bbn.axios.dayjs/./dist/fn/type/isComment.js","webpack://bbn.axios.dayjs/./dist/fn/type/isCp.js","webpack://bbn.axios.dayjs/./dist/fn/type/isDate.js","webpack://bbn.axios.dayjs/./dist/fn/type/isDimension.js","webpack://bbn.axios.dayjs/./dist/fn/type/isDom.js","webpack://bbn.axios.dayjs/./dist/fn/type/isEmail.js","webpack://bbn.axios.dayjs/./dist/fn/type/isEmpty.js","webpack://bbn.axios.dayjs/./dist/fn/type/isEvent.js","webpack://bbn.axios.dayjs/./dist/fn/type/isFunction.js","webpack://bbn.axios.dayjs/./dist/fn/type/isHostname.js","webpack://bbn.axios.dayjs/./dist/fn/type/isIP.js","webpack://bbn.axios.dayjs/./dist/fn/type/isInt.js","webpack://bbn.axios.dayjs/./dist/fn/type/isIterable.js","webpack://bbn.axios.dayjs/./dist/fn/type/isNull.js","webpack://bbn.axios.dayjs/./dist/fn/type/isNumber.js","webpack://bbn.axios.dayjs/./dist/fn/type/isObject.js","webpack://bbn.axios.dayjs/./dist/fn/type/isPercent.js","webpack://bbn.axios.dayjs/./dist/fn/type/isPrimitive.js","webpack://bbn.axios.dayjs/./dist/fn/type/isPromise.js","webpack://bbn.axios.dayjs/./dist/fn/type/isPropSize.js","webpack://bbn.axios.dayjs/./dist/fn/type/isSQLDate.js","webpack://bbn.axios.dayjs/./dist/fn/type/isSame.js","webpack://bbn.axios.dayjs/./dist/fn/type/isString.js","webpack://bbn.axios.dayjs/./dist/fn/type/isSymbol.js","webpack://bbn.axios.dayjs/./dist/fn/type/isURL.js","webpack://bbn.axios.dayjs/./dist/fn/type/isValidDimension.js","webpack://bbn.axios.dayjs/./dist/fn/type/isValidName.js","webpack://bbn.axios.dayjs/./dist/fn/type/isValue.js","webpack://bbn.axios.dayjs/./dist/fn/type/isVue.js","webpack://bbn.axios.dayjs/./dist/lng.js","webpack://bbn.axios.dayjs/./dist/vars.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/adapters/adapters.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/adapters/xhr.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/axios.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/cancel/CancelToken.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/cancel/CanceledError.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/cancel/isCancel.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/Axios.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/AxiosError.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/InterceptorManager.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/buildFullPath.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/dispatchRequest.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/mergeConfig.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/settle.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/transformData.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/defaults/index.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/defaults/transitional.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/env/data.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/bind.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/buildURL.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/combineURLs.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/cookies.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/null.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/speedometer.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/spread.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/toFormData.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/validator.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/platform/browser/index.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/utils.js","webpack://bbn.axios.dayjs/webpack/bootstrap","webpack://bbn.axios.dayjs/webpack/runtime/define property getters","webpack://bbn.axios.dayjs/webpack/runtime/hasOwnProperty shorthand","webpack://bbn.axios.dayjs/webpack/runtime/make namespace object","webpack://bbn.axios.dayjs/./dist/index.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_calendar=t()}(this,(function(){\"use strict\";return function(e,t,a){var n=\"h:mm A\",d={lastDay:\"[Yesterday at] \"+n,sameDay:\"[Today at] \"+n,nextDay:\"[Tomorrow at] \"+n,nextWeek:\"dddd [at] \"+n,lastWeek:\"[Last] dddd [at] \"+n,sameElse:\"MM/DD/YYYY\"};t.prototype.calendar=function(e,t){var n=t||this.$locale().calendar||d,o=a(e||void 0).startOf(\"d\"),s=this.diff(o,\"d\",!0),i=\"sameElse\",f=s<-6?i:s<-1?\"lastWeek\":s<0?\"lastDay\":s<1?\"sameDay\":s<2?\"nextDay\":s<7?\"nextWeek\":i,l=n[f]||d[f];return\"function\"==typeof l?l.call(this,a()):this.format(l)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_dayOfYear=t()}(this,(function(){\"use strict\";return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf(\"day\")-n(this).startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"day\")}}}));","!function(t,s){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=s():\"function\"==typeof define&&define.amd?define(s):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_duration=s()}(this,(function(){\"use strict\";var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,d=2628e6,a=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h={years:u,months:d,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t){return t instanceof g},f=function(t,s,n){return new g(t,n,s.$l)},m=function(t){return s.p(t)+\"s\"},l=function(t){return t<0},$=function(t){return l(t)?Math.ceil(t):Math.floor(t)},y=function(t){return Math.abs(t)},v=function(t,s){return t?l(t)?{negative:!0,format:\"\"+y(t)+s}:{negative:!1,format:\"\"+t+s}:{negative:!1,format:\"\"}},g=function(){function l(t,s,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),s)return f(t*h[m(s)],this);if(\"number\"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if(\"object\"==typeof t)return Object.keys(t).forEach((function(s){i.$d[m(s)]=t[s]})),this.calMilliseconds(),this;if(\"string\"==typeof t){var e=t.match(a);if(e){var r=e.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var y=l.prototype;return y.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(s,n){return s+(t.$d[n]||0)*h[n]}),0)},y.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=$(t/u),t%=u,this.$d.months=$(t/d),t%=d,this.$d.days=$(t/r),t%=r,this.$d.hours=$(t/e),t%=e,this.$d.minutes=$(t/i),t%=i,this.$d.seconds=$(t/n),t%=n,this.$d.milliseconds=t},y.toISOString=function(){var t=v(this.$d.years,\"Y\"),s=v(this.$d.months,\"M\"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=v(n,\"D\"),e=v(this.$d.hours,\"H\"),r=v(this.$d.minutes,\"M\"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3,o=Math.round(1e3*o)/1e3);var u=v(o,\"S\"),d=t.negative||s.negative||i.negative||e.negative||r.negative||u.negative,a=e.format||r.format||u.format?\"T\":\"\",h=(d?\"-\":\"\")+\"P\"+t.format+s.format+i.format+a+e.format+r.format+u.format;return\"P\"===h||\"-P\"===h?\"P0D\":h},y.toJSON=function(){return this.toISOString()},y.format=function(t){var n=t||\"YYYY-MM-DDTHH:mm:ss\",i={Y:this.$d.years,YY:s.s(this.$d.years,2,\"0\"),YYYY:s.s(this.$d.years,4,\"0\"),M:this.$d.months,MM:s.s(this.$d.months,2,\"0\"),D:this.$d.days,DD:s.s(this.$d.days,2,\"0\"),H:this.$d.hours,HH:s.s(this.$d.hours,2,\"0\"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,\"0\"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,\"0\"),SSS:s.s(this.$d.milliseconds,3,\"0\")};return n.replace(o,(function(t,s){return s||String(i[t])}))},y.as=function(t){return this.$ms/h[m(t)]},y.get=function(t){var s=this.$ms,n=m(t);return\"milliseconds\"===n?s%=1e3:s=\"weeks\"===n?$(s/h[n]):this.$d[n],s||0},y.add=function(t,s,n){var i;return i=s?t*h[m(s)]:c(t)?t.$ms:f(t,this).$ms,f(this.$ms+i*(n?-1:1),this)},y.subtract=function(t,s){return this.add(t,s,!0)},y.locale=function(t){var s=this.clone();return s.$l=t,s},y.clone=function(){return f(this.$ms,this)},y.humanize=function(s){return t().add(this.$ms,\"ms\").locale(this.$l).fromNow(!s)},y.valueOf=function(){return this.asMilliseconds()},y.milliseconds=function(){return this.get(\"milliseconds\")},y.asMilliseconds=function(){return this.as(\"milliseconds\")},y.seconds=function(){return this.get(\"seconds\")},y.asSeconds=function(){return this.as(\"seconds\")},y.minutes=function(){return this.get(\"minutes\")},y.asMinutes=function(){return this.as(\"minutes\")},y.hours=function(){return this.get(\"hours\")},y.asHours=function(){return this.as(\"hours\")},y.days=function(){return this.get(\"days\")},y.asDays=function(){return this.as(\"days\")},y.weeks=function(){return this.get(\"weeks\")},y.asWeeks=function(){return this.as(\"weeks\")},y.months=function(){return this.get(\"months\")},y.asMonths=function(){return this.as(\"months\")},y.years=function(){return this.get(\"years\")},y.asYears=function(){return this.as(\"years\")},l}(),p=function(t,s,n){return t.add(s.years()*n,\"y\").add(s.months()*n,\"M\").add(s.days()*n,\"d\").add(s.hours()*n,\"h\").add(s.minutes()*n,\"m\").add(s.seconds()*n,\"s\").add(s.milliseconds()*n,\"ms\")};return function(n,i,e){t=e,s=e().$utils(),e.duration=function(t,s){var n=e.locale();return f(t,{$l:n},s)},e.isDuration=c;var r=i.prototype.add,o=i.prototype.subtract;i.prototype.add=function(t,s){return c(t)?p(this,t,1):r.bind(this)(t,s)},i.prototype.subtract=function(t,s){return c(t)?p(this,t,-1):o.bind(this)(t,s)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_minMax=n()}(this,(function(){\"use strict\";return function(e,n,t){var i=function(e,n){if(!n||!n.length||1===n.length&&!n[0]||1===n.length&&Array.isArray(n[0])&&!n[0].length)return null;var t;1===n.length&&n[0].length>0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i<n.length;i+=1)n[i].isValid()&&!n[i][e](t)||(t=n[i]);return t};t.max=function(){var e=[].slice.call(arguments,0);return i(\"isAfter\",e)},t.min=function(){var e=[].slice.call(arguments,0);return i(\"isBefore\",e)}}}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(r=\"undefined\"!=typeof globalThis?globalThis:r||self).dayjs_plugin_relativeTime=e()}(this,(function(){\"use strict\";return function(r,e,t){r=r||{};var n=e.prototype,o={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:\"s\",r:44,d:\"second\"},{l:\"m\",r:89},{l:\"mm\",r:44,d:\"minute\"},{l:\"h\",r:89},{l:\"hh\",r:21,d:\"hour\"},{l:\"d\",r:35},{l:\"dd\",r:25,d:\"day\"},{l:\"M\",r:45},{l:\"MM\",r:10,d:\"month\"},{l:\"y\",r:17},{l:\"yy\",d:\"year\"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(f=d?t(e).diff(i,y.d,!0):i.diff(e,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(f));if(s=f>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","var $ = function (selector, context) {\n if (context === null || context === void 0 ? void 0 : context.querySelectorAll) {\n return context.querySelectorAll(selector);\n }\n if (context) {\n throw new Error('Invalid context');\n }\n return document.body.querySelectorAll(selector);\n};\nexport { $ };\n","import { checkType } from './fn/type/checkType.js';\n/**\n * Translate an expression using the object bbn.lng\n *\n * @param {String} st\n * @returns {String}\n */\nvar _ = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var st = args.shift();\n var res = bbn.lng[st] || st;\n if (args.length) {\n var i_1 = 0;\n return res.replace(/\\%([d|s])/g, function (match, type) {\n var tmp = args[i_1++];\n if (!tmp) {\n tmp = type === 'd' ? 0 : '';\n }\n checkType(tmp, type === 'd' ? 'number' : 'string', bbn._(\"The value you gave did not correspond, check the loggg\"));\n return tmp;\n });\n }\n return res;\n};\nexport { _ };\n","import { _ } from './_.js';\nimport { each } from './fn/loop/each.js';\nimport { iterate } from './fn/loop/iterate.js';\nimport { log } from './fn/browser/log.js';\nvar idb = window['indexedDB'] || window['webkitIndexedDB'] || window['mozIndexedDB'] || window['OIndexedDB'] || window['msIndexedDB'];\nvar dbObject = function (dbName) {\n var _this = this;\n var conn = db._connections[dbName];\n var structure = db._structures[dbName];\n this.insert = function (table, data) {\n if (!Array.isArray(data)) {\n data = [data];\n }\n return new Promise(function (resolve) {\n var tx = conn.transaction(table, \"readwrite\");\n var store = tx.objectStore(table);\n var res = data.length;\n each(data, function (a) {\n var request = store.put(a);\n request.onerror = function () {\n log(request.error);\n res--;\n };\n });\n tx.onabort = function () {\n throw new Error(tx.error);\n };\n tx.oncomplete = function () {\n resolve(res);\n };\n });\n };\n this.update = function (table, data, where) {\n return new Promise(function (resolve) {\n var tx = conn.transaction(table, \"readwrite\");\n var store = tx.objectStore(table);\n var arch = structure[table];\n var primary = arch.keys.PRIMARY.columns.length > 1 ? arch.keys.PRIMARY.columns : arch.keys.PRIMARY.columns[0];\n if (!where[primary]) {\n throw new Error(_(\"No \"));\n }\n var res = 1;\n var request = store.put(data, where[primary]);\n request.onerror = function () {\n log(request.error);\n res--;\n };\n tx.onabort = function () {\n throw new Error(tx.error);\n };\n tx.oncomplete = function () {\n resolve(res);\n };\n });\n };\n this.delete = function (table, where) {\n return new Promise(function (resolve) {\n var tx = conn.transaction(table, \"readwrite\");\n var store = tx.objectStore(table);\n var arch = structure[table];\n var primary = arch.keys.PRIMARY.columns.length > 1 ? arch.keys.PRIMARY.columns : arch.keys.PRIMARY.columns[0];\n if (!where[primary]) {\n throw new Error(_(\"No \"));\n }\n var res = 1;\n var request = store.delete(where[primary]);\n request.onerror = function () {\n log(request.error);\n res--;\n };\n tx.onabort = function () {\n throw new Error(tx.error);\n };\n tx.oncomplete = function () {\n resolve(res);\n };\n });\n };\n this.selectOne = function (table, field, where, order, start, limit) {\n return new Promise(function (resolve) {\n _this.select(table, [field], where, order, start, limit).then(function (d) {\n var _a;\n resolve((_a = d[field]) !== null && _a !== void 0 ? _a : undefined);\n });\n });\n };\n this.select = function (table, fields, where, order, start, limit) {\n var tx = conn.transaction(table, \"readonly\");\n var store = tx.objectStore(table);\n var arch = structure[table];\n var primary = arch.keys.PRIMARY.columns.length > 1 ? arch.keys.PRIMARY.columns : arch.keys.PRIMARY.columns[0];\n if (!where[primary]) {\n throw new Error(_(\"No \"));\n }\n return new Promise(function (resolve) {\n var req = store.get(where[primary]);\n req.onsuccess = function () {\n var obj = req.result;\n if (fields.length) {\n var res_1 = {};\n iterate(obj, function (v, n) {\n if (fields.indexOf(n) > -1) {\n res_1[n] = v;\n }\n });\n return resolve(res_1);\n }\n else {\n resolve(obj);\n }\n };\n });\n };\n this.selectAll = function (table, fields, where, order, start, limit) {\n var tx = conn.transaction(table, \"read\");\n var store = tx.objectStore(table);\n var arch = structure[table];\n var primary = arch.keys.PRIMARY.columns.length > 1 ? arch.keys.PRIMARY.columns : arch.keys.PRIMARY.columns[0];\n if (!where[primary]) {\n throw new Error(_(\"No \"));\n }\n return new Promise(function (resolve) {\n var req = store.get(structure.keys.PRIMARY);\n });\n };\n this.getColumnValues = function (table, field, where, order, start, limit) {\n return new Promise(function (resolve) {\n var tx = conn.transaction(table, \"read\");\n var store = tx.objectStore(table);\n });\n };\n};\nvar db = {\n _structures: {},\n /* This variable should be set to true in debugging mode only */\n _connections: {},\n /* Address of the CDN (where this file should be hosted) */\n _stores: {},\n ok: idb !== undefined,\n open: function (name) {\n return new Promise(function (resolve) {\n if (!db._connections[name]) {\n if (!db._structures[name]) {\n throw new Error(_(\"Impossible to find a structure for the database %s\", name));\n }\n var conn_1 = idb.open(name);\n conn_1.onupgradeneeded = function () {\n log(\"UPGRADE NEEDED\");\n var res = conn_1.result;\n iterate(db._structures[name], function (structure, storeName) {\n var primary = structure.keys.PRIMARY.columns.length > 1 ? structure.keys.PRIMARY.columns : structure.keys.PRIMARY.columns[0];\n var store = res.createObjectStore(storeName, { keyPath: primary });\n iterate(structure.keys, function (a, n) {\n if (n !== 'PRIMARY') {\n store.createIndex(n, a.columns.length > 1 ? a.columns : a.columns[0], {\n unique: !!a.unique\n });\n }\n });\n });\n };\n conn_1.onsuccess = function () {\n db._connections[name] = conn_1.result;\n var obj = new dbObject(name);\n resolve(obj);\n };\n return;\n }\n resolve(new dbObject(db._connections[name]));\n });\n },\n add: function (database, name, structure) {\n var _a;\n if (((_a = structure === null || structure === void 0 ? void 0 : structure.keys) === null || _a === void 0 ? void 0 : _a.PRIMARY) && (structure === null || structure === void 0 ? void 0 : structure.fields)) {\n if (!db._structures[database]) {\n db._structures[database] = {};\n }\n db._structures[database][name] = structure;\n }\n else {\n throw new Error(_(\"The database structure for %s is not valid (are there keys and field? Is there a primary?\", name));\n }\n }\n};\nexport { db };\n","var env = {\n siteTitle: window.document.title,\n /* This variable should be set to true in debugging mode only */\n logging: false,\n /* Address of the CDN (where this file should be hosted) */\n cdn: '',\n /* Default language */\n lang: 'en',\n host: window.location.protocol + '//' + window.location.hostname,\n url: window.location.href,\n old_path: null,\n /* True when non asynchronous Ajax loads */\n loading: false,\n /* Window width */\n width: 0,\n /* Window height */\n height: 0,\n /* Element currently focused (Element object) */\n focused: false,\n /* Last time user has been active */\n last_focus: (new Date()).getTime(),\n /* Sleep mode (tab or window unfocused */\n sleep: false,\n theme: 'dark',\n /**\n * @var bbn.env.loaders Object where the props are MD5 of data and url while the values are the requests,\n * for preventing the same call to be made at the same time\n **/\n loaders: [],\n loadersHistory: [],\n maxLoadersHistory: 20,\n /* bbn.env.params is an array of each element of the path */\n resizeTimer: false,\n hashChanged: 0,\n params: [],\n isInit: false,\n isFocused: false,\n timeoff: Math.round((new Date()).getTime() / 1000),\n loggingLevel: 5,\n ignoreUnload: false,\n historyDisabled: false,\n nav: 'ajax'\n};\nexport { env };\n","import { _addLoader } from './fn/ajax/_addLoader.js';\nimport { _compareValues } from './fn/object/_compareValues.js';\nimport { _deleteLoader } from './fn/ajax/_deleteLoader.js';\nimport { abort } from './fn/ajax/abort.js';\nimport { abortURL } from './fn/ajax/abortURL.js';\nimport { addColors } from './fn/style/addColors.js';\nimport { addInputs } from './fn/form/addInputs.js';\nimport { addStyle } from './fn/style/addStyle.js';\nimport { adjustHeight } from './fn/html/adjustHeight.js';\nimport { adjustSize } from './fn/html/adjustSize.js';\nimport { adjustWidth } from './fn/html/adjustWidth.js';\nimport { ajax } from './fn/ajax/ajax.js';\nimport { analyzeFunction } from './fn/misc/analyzeFunction.js';\nimport { animateCss } from './fn/style/animateCss.js';\nimport { arrayBuffer2String } from './fn/convert/arrayBuffer2String.js';\nimport { arrayFromProp } from './fn/object/arrayFromProp.js';\nimport { autoExtend } from './fn/object/autoExtend.js';\nimport { baseName } from './fn/string/baseName.js';\nimport { br2nl } from './fn/string/br2nl.js';\nimport { calendar } from './fn/datetime/calendar.js';\nimport { callback } from './fn/ajax/callback.js';\nimport { camelize } from './fn/string/camelize.js';\nimport { camelToCss } from './fn/string/camelToCss.js';\nimport { canvasToImage } from './fn/convert/canvasToImage.js';\nimport { center } from './fn/style/center.js';\nimport { checkProps } from './fn/object/checkProps.js';\nimport { checkPropsDetails } from './fn/object/checkPropsDetails.js';\nimport { checkPropsOrDie } from './fn/object/checkPropsOrDie.js';\nimport { checkType } from './fn/type/checkType.js';\nimport { circularReplacer } from './fn/object/circularReplacer.js';\nimport { clone } from './fn/object/clone.js';\nimport { colorToHex } from './fn/convert/colorToHex.js';\nimport { compare } from './fn/object/compare.js';\nimport { compareConditions } from './fn/object/compareConditions.js';\nimport { copy } from './fn/browser/copy.js';\nimport { correctCase } from './fn/string/correctCase.js';\nimport { count } from './fn/object/count.js';\nimport { crc32 } from './fn/string/crc32.js';\nimport { createObject } from './fn/object/createObject.js';\nimport { cssExists } from './fn/style/cssExists.js';\nimport { date } from './fn/datetime/date.js';\nimport { dateSQL } from './fn/datetime/dateSQL.js';\nimport { daysInMonth } from './fn/datetime/daysInMonth.js';\nimport { deepPath } from './fn/object/deepPath.js';\nimport { defaultAjaxAbortFunction } from './fn/default/defaultAjaxAbortFunction.js';\nimport { defaultAjaxErrorFunction } from './fn/default/defaultAjaxErrorFunction.js';\nimport { defaultAlertFunction } from './fn/default/defaultAlertFunction.js';\nimport { defaultConfirmFunction } from './fn/default/defaultConfirmFunction.js';\nimport { defaultEndLoadingFunction } from './fn/default/defaultEndLoadingFunction.js';\nimport { defaultErrorFunction } from './fn/default/defaultErrorFunction.js';\nimport { defaultHistoryFunction } from './fn/default/defaultHistoryFunction.js';\nimport { defaultLinkFunction } from './fn/default/defaultLinkFunction.js';\nimport { defaultPostLinkFunction } from './fn/default/defaultPostLinkFunction.js';\nimport { defaultPreLinkFunction } from './fn/default/defaultPreLinkFunction.js';\nimport { defaultResizeFunction } from './fn/default/defaultResizeFunction.js';\nimport { defaultStartLoadingFunction } from './fn/default/defaultStartLoadingFunction.js';\nimport { deleteProp } from './fn/object/deleteProp.js';\nimport { diffObj } from './fn/object/diffObj.js';\nimport { dirName } from './fn/string/dirName.js';\nimport { download } from './fn/ajax/download.js';\nimport { downloadContent } from './fn/ajax/downloadContent.js';\nimport { each } from './fn/loop/each.js';\nimport { eraseCookie } from './fn/browser/eraseCookie.js';\nimport { error } from './fn/browser/error.js';\nimport { escapeDquotes } from './fn/string/escapeDquotes.js';\nimport { escapeRegExp } from './fn/string/escapeRegExp.js';\nimport { escapeSquotes } from './fn/string/escapeSquotes.js';\nimport { escapeTicks } from './fn/string/escapeTicks.js';\nimport { escapeUrl } from './fn/string/escapeUrl.js';\nimport { extend } from './fn/object/extend.js';\nimport { extendOut } from './fn/object/extendOut.js';\nimport { fdate } from './fn/datetime/fdate.js';\nimport { fdatetime } from './fn/datetime/fdatetime.js';\nimport { fieldValue } from './fn/form/fieldValue.js';\nimport { fileExt } from './fn/string/fileExt.js';\nimport { filter } from './fn/object/filter.js';\nimport { filterToConditions } from './fn/object/filterToConditions.js';\nimport { findAll } from './fn/object/findAll.js';\nimport { fori } from './fn/loop/fori.js';\nimport { forir } from './fn/loop/forir.js';\nimport { format } from './fn/string/format.js';\nimport { formatBytes } from './fn/string/formatBytes.js';\nimport { formatDate } from './fn/datetime/formatDate.js';\nimport { formatSize } from './fn/string/formatSize.js';\nimport { formdata } from './fn/form/formdata.js';\nimport { fromXml } from './fn/convert/fromXml.js';\nimport { ftime } from './fn/datetime/ftime.js';\nimport { getAllTags } from './fn/html/getAllTags.js';\nimport { getAncestors } from './fn/html/getAncestors.js';\nimport { getAttributes } from './fn/html/getAttributes.js';\nimport { getBrowserName } from './fn/browser/getBrowserName.js';\nimport { getBrowserVersion } from './fn/browser/getBrowserVersion.js';\nimport { getCookie } from './fn/browser/getCookie.js';\nimport { getCssVar } from './fn/style/getCssVar.js';\nimport { getDay } from './fn/datetime/getDay.js';\nimport { getDeviceType } from './fn/browser/getDeviceType.js';\nimport { getEventData } from './fn/browser/getEventData.js';\nimport { getField } from './fn/object/getField.js';\nimport { getFieldValues } from './fn/object/getFieldValues.js';\nimport { getHtml } from './fn/html/getHtml.js';\nimport { getHTMLOfSelection } from './fn/html/getHTMLOfSelection.js';\nimport { getLoader } from './fn/ajax/getLoader.js';\nimport { getPath } from './fn/html/getPath.js';\nimport { getProp } from './fn/object/getProp.js';\nimport { getProperty } from './fn/object/getProperty.js';\nimport { getRequestId } from './fn/ajax/getRequestId.js';\nimport { getRow } from './fn/object/getRow.js';\nimport { getScrollBarSize } from './fn/style/getScrollBarSize.js';\nimport { getText } from './fn/html/getText.js';\nimport { getTimeoff } from './fn/misc/getTimeoff.js';\nimport { happy } from './fn/browser/happy.js';\nimport { hash } from './fn/string/hash.js';\nimport { hex2rgb } from './fn/convert/hex2rgb.js';\nimport { history } from './fn/browser/history.js';\nimport { html2text } from './fn/html/html2text.js';\nimport { imageToCanvas } from './fn/convert/imageToCanvas.js';\nimport { imgToBase64 } from './fn/convert/imgToBase64.js';\nimport { info } from './fn/browser/info.js';\nimport { init } from './fn/init.js';\nimport { isActiveInterface } from './fn/browser/isActiveInterface.js';\nimport { isArray } from './fn/type/isArray.js';\nimport { isBlob } from './fn/type/isBlob.js';\nimport { isBoolean } from './fn/type/isBoolean.js';\nimport { isCanvas } from './fn/type/isCanvas.js';\nimport { isColor } from './fn/type/isColor.js';\nimport { isComment } from './fn/type/isComment.js';\nimport { isCp } from './fn/type/isCp.js';\nimport { isDate } from './fn/type/isDate.js';\nimport { isDesktopDevice } from './fn/browser/isDesktopDevice.js';\nimport { isDimension } from './fn/type/isDimension.js';\nimport { isDom } from './fn/type/isDom.js';\nimport { isEmail } from './fn/type/isEmail.js';\nimport { isEmpty } from './fn/type/isEmpty.js';\nimport { isEvent } from './fn/type/isEvent.js';\nimport { isFocused } from './fn/browser/isFocused.js';\nimport { isFunction } from './fn/type/isFunction.js';\nimport { isHostname } from './fn/type/isHostname.js';\nimport { isInside } from './fn/html/isInside.js';\nimport { isInt } from './fn/type/isInt.js';\nimport { isInViewport } from './fn/html/isInViewport.js';\nimport { isIP } from './fn/type/isIP.js';\nimport { isIterable } from './fn/type/isIterable.js';\nimport { isMobile } from './fn/browser/isMobile.js';\nimport { isMobileDevice } from './fn/browser/isMobileDevice.js';\nimport { isNull } from './fn/type/isNull.js';\nimport { isNumber } from './fn/type/isNumber.js';\nimport { isObject } from './fn/type/isObject.js';\nimport { isPercent } from './fn/type/isPercent.js';\nimport { isPrimitive } from './fn/type/isPrimitive.js';\nimport { isPromise } from './fn/type/isPromise.js';\nimport { isPropSize } from './fn/type/isPropSize.js';\nimport { isSame } from './fn/type/isSame.js';\nimport { isSQLDate } from './fn/type/isSQLDate.js';\nimport { isString } from './fn/type/isString.js';\nimport { isSymbol } from './fn/type/isSymbol.js';\nimport { isTabletDevice } from './fn/browser/isTabletDevice.js';\nimport { isURL } from './fn/type/isURL.js';\nimport { isValidDimension } from './fn/type/isValidDimension.js';\nimport { isValidName } from './fn/type/isValidName.js';\nimport { isValue } from './fn/type/isValue.js';\nimport { isVue } from './fn/type/isVue.js';\nimport { iterate } from './fn/loop/iterate.js';\nimport { lightenDarkenHex } from './fn/style/lightenDarkenHex.js';\nimport { link } from './fn/ajax/link.js';\nimport { log } from './fn/browser/log.js';\nimport { makeReactive } from './fn/html/makeReactive.js';\nimport { map } from './fn/object/map.js';\nimport { md5 } from './fn/string/md5.js';\nimport { money } from './fn/misc/money.js';\nimport { move } from './fn/object/move.js';\nimport { multiorder } from './fn/object/multiorder.js';\nimport { mutateArray } from './fn/object/mutateArray.js';\nimport { nl2br } from './fn/string/nl2br.js';\nimport { numProperties } from './fn/object/numProperties.js';\nimport { objectToFormData } from './fn/form/objectToFormData.js';\nimport { order } from './fn/object/order.js';\nimport { outerHeight } from './fn/style/outerHeight.js';\nimport { outerWidth } from './fn/style/outerWidth.js';\nimport { percent } from './fn/misc/percent.js';\nimport { pickValue } from './fn/object/pickValue.js';\nimport { post } from './fn/ajax/post.js';\nimport { postOut } from './fn/ajax/postOut.js';\nimport { printf } from './fn/string/printf.js';\nimport { quotes2html } from './fn/string/quotes2html.js';\nimport { randomInt } from './fn/misc/randomInt.js';\nimport { randomString } from './fn/string/randomString.js';\nimport { removeAccents } from './fn/string/removeAccents.js';\nimport { removeEmpty } from './fn/object/removeEmpty.js';\nimport { removeExtraSpaces } from './fn/string/removeExtraSpaces.js';\nimport { removeHtmlComments } from './fn/string/removeHtmlComments.js';\nimport { removePrivateProp } from './fn/object/removePrivateProp.js';\nimport { removeTrailingChars } from './fn/string/removeTrailingChars.js';\nimport { repeat } from './fn/string/repeat.js';\nimport { replaceAll } from './fn/string/replaceAll.js';\nimport { replaceSelection } from './fn/browser/replaceSelection.js';\nimport { resize } from './fn/style/resize.js';\nimport { rgb2hex } from './fn/convert/rgb2hex.js';\nimport { riterate } from './fn/loop/riterate.js';\nimport { roundDecimal } from './fn/misc/roundDecimal.js';\nimport { sanitize } from './fn/string/sanitize.js';\nimport { search } from './fn/object/search.js';\nimport { selectElementText } from './fn/browser/selectElementText.js';\nimport { selector } from './fn/html/selector.js';\nimport { setCookie } from './fn/browser/setCookie.js';\nimport { setCssVar } from './fn/style/setCssVar.js';\nimport { setNavigationVars } from './fn/ajax/setNavigationVars.js';\nimport { setProp } from './fn/object/setProp.js';\nimport { setProperty } from './fn/object/setProperty.js';\nimport { shorten } from './fn/string/shorten.js';\nimport { shortenObj } from './fn/object/shortenObj.js';\nimport { shuffle } from './fn/object/shuffle.js';\nimport { simpleHash } from './fn/string/simpleHash.js';\nimport { simpleHash1 } from './fn/string/simpleHash1.js';\nimport { simpleHash2 } from './fn/string/simpleHash2.js';\nimport { startChrono, stopChrono } from './fn/datetime/chrono.js';\nimport { string2ArrayBuffer } from './fn/convert/string2ArrayBuffer.js';\nimport { submit } from './fn/form/submit.js';\nimport { substr } from './fn/string/substr.js';\nimport { sum } from './fn/object/sum.js';\nimport { timestamp } from './fn/datetime/timestamp.js';\nimport { toCSV } from './fn/convert/toCSV.js';\nimport { toggleFullScreen } from './fn/browser/toggleFullScreen.js';\nimport { translate } from './fn/misc/translate.js';\nimport { treatAjaxArguments } from './fn/ajax/treatAjaxArguments.js';\nimport { trim } from './fn/string/trim.js';\nimport { uniqString } from './fn/string/uniqString.js';\nimport { unique } from './fn/object/unique.js';\nimport { upload } from './fn/ajax/upload.js';\nimport { warning } from './fn/browser/warning.js';\nvar fn = {\n _addLoader: _addLoader,\n _compareValues: _compareValues,\n _deleteLoader: _deleteLoader,\n abort: abort,\n abortURL: abortURL,\n addColors: addColors,\n addInputs: addInputs,\n addStyle: addStyle,\n adjustHeight: adjustHeight,\n adjustSize: adjustSize,\n adjustWidth: adjustWidth,\n ajax: ajax,\n analyzeFunction: analyzeFunction,\n animateCss: animateCss,\n arrayBuffer2String: arrayBuffer2String,\n arrayFromProp: arrayFromProp,\n autoExtend: autoExtend,\n baseName: baseName,\n br2nl: br2nl,\n calendar: calendar,\n callback: callback,\n camelize: camelize,\n camelToCss: camelToCss,\n canvasToImage: canvasToImage,\n center: center,\n checkProps: checkProps,\n checkPropsDetails: checkPropsDetails,\n checkPropsOrDie: checkPropsOrDie,\n checkType: checkType,\n circularReplacer: circularReplacer,\n clone: clone,\n colorToHex: colorToHex,\n compare: compare,\n compareConditions: compareConditions,\n copy: copy,\n correctCase: correctCase,\n count: count,\n crc32: crc32,\n createObject: createObject,\n cssExists: cssExists,\n date: date,\n dateSQL: dateSQL,\n daysInMonth: daysInMonth,\n deepPath: deepPath,\n defaultAjaxAbortFunction: defaultAjaxAbortFunction,\n defaultAjaxErrorFunction: defaultAjaxErrorFunction,\n defaultAlertFunction: defaultAlertFunction,\n defaultConfirmFunction: defaultConfirmFunction,\n defaultEndLoadingFunction: defaultEndLoadingFunction,\n defaultErrorFunction: defaultErrorFunction,\n defaultHistoryFunction: defaultHistoryFunction,\n defaultLinkFunction: defaultLinkFunction,\n defaultPostLinkFunction: defaultPostLinkFunction,\n defaultPreLinkFunction: defaultPreLinkFunction,\n defaultResizeFunction: defaultResizeFunction,\n defaultStartLoadingFunction: defaultStartLoadingFunction,\n deleteProp: deleteProp,\n diffObj: diffObj,\n dirName: dirName,\n download: download,\n downloadContent: downloadContent,\n each: each,\n eraseCookie: eraseCookie,\n error: error,\n escapeDquotes: escapeDquotes,\n escapeRegExp: escapeRegExp,\n escapeSquotes: escapeSquotes,\n escapeTicks: escapeTicks,\n escapeUrl: escapeUrl,\n extend: extend,\n extendOut: extendOut,\n fdate: fdate,\n fdatetime: fdatetime,\n fieldValue: fieldValue,\n fileExt: fileExt,\n filter: filter,\n filterToConditions: filterToConditions,\n findAll: findAll,\n fori: fori,\n forir: forir,\n format: format,\n formatBytes: formatBytes,\n formatDate: formatDate,\n formatSize: formatSize,\n formdata: formdata,\n fromXml: fromXml,\n ftime: ftime,\n getAllTags: getAllTags,\n getAncestors: getAncestors,\n getAttributes: getAttributes,\n getBrowserName: getBrowserName,\n getBrowserVersion: getBrowserVersion,\n getCookie: getCookie,\n getCssVar: getCssVar,\n getDay: getDay,\n getDeviceType: getDeviceType,\n getEventData: getEventData,\n getField: getField,\n getFieldValues: getFieldValues,\n getHtml: getHtml,\n getHTMLOfSelection: getHTMLOfSelection,\n getLoader: getLoader,\n getPath: getPath,\n getProp: getProp,\n getProperty: getProperty,\n getRequestId: getRequestId,\n getRow: getRow,\n getScrollBarSize: getScrollBarSize,\n getText: getText,\n getTimeoff: getTimeoff,\n happy: happy,\n hash: hash,\n hex2rgb: hex2rgb,\n history: history,\n html2text: html2text,\n imageToCanvas: imageToCanvas,\n imgToBase64: imgToBase64,\n info: info,\n init: init,\n isActiveInterface: isActiveInterface,\n isArray: isArray,\n isBlob: isBlob,\n isBoolean: isBoolean,\n isCanvas: isCanvas,\n isColor: isColor,\n isComment: isComment,\n isCp: isCp,\n isDate: isDate,\n isDesktopDevice: isDesktopDevice,\n isDimension: isDimension,\n isDom: isDom,\n isEmail: isEmail,\n isEmpty: isEmpty,\n isEvent: isEvent,\n isFocused: isFocused,\n isFunction: isFunction,\n isHostname: isHostname,\n isInside: isInside,\n isInt: isInt,\n isInViewport: isInViewport,\n isIP: isIP,\n isIterable: isIterable,\n isMobile: isMobile,\n isMobileDevice: isMobileDevice,\n isNull: isNull,\n isNumber: isNumber,\n isObject: isObject,\n isPercent: isPercent,\n isPrimitive: isPrimitive,\n isPromise: isPromise,\n isPropSize: isPropSize,\n isSame: isSame,\n isSQLDate: isSQLDate,\n isString: isString,\n isSymbol: isSymbol,\n isTabletDevice: isTabletDevice,\n isURL: isURL,\n isValidDimension: isValidDimension,\n isValidName: isValidName,\n isValue: isValue,\n isVue: isVue,\n iterate: iterate,\n lightenDarkenHex: lightenDarkenHex,\n link: link,\n log: log,\n makeReactive: makeReactive,\n map: map,\n md5: md5,\n money: money,\n move: move,\n multiorder: multiorder,\n mutateArray: mutateArray,\n nl2br: nl2br,\n numProperties: numProperties,\n objectToFormData: objectToFormData,\n order: order,\n outerHeight: outerHeight,\n outerWidth: outerWidth,\n percent: percent,\n pickValue: pickValue,\n post: post,\n postOut: postOut,\n printf: printf,\n quotes2html: quotes2html,\n randomInt: randomInt,\n randomString: randomString,\n removeAccents: removeAccents,\n removeEmpty: removeEmpty,\n removeExtraSpaces: removeExtraSpaces,\n removeHtmlComments: removeHtmlComments,\n removePrivateProp: removePrivateProp,\n removeTrailingChars: removeTrailingChars,\n repeat: repeat,\n replaceAll: replaceAll,\n replaceSelection: replaceSelection,\n resize: resize,\n rgb2hex: rgb2hex,\n riterate: riterate,\n roundDecimal: roundDecimal,\n sanitize: sanitize,\n search: search,\n selectElementText: selectElementText,\n selector: selector,\n setCookie: setCookie,\n setCssVar: setCssVar,\n setNavigationVars: setNavigationVars,\n setProp: setProp,\n setProperty: setProperty,\n shorten: shorten,\n shortenObj: shortenObj,\n shuffle: shuffle,\n simpleHash: simpleHash,\n simpleHash1: simpleHash1,\n simpleHash2: simpleHash2,\n startChrono: startChrono,\n stopChrono: stopChrono,\n string2ArrayBuffer: string2ArrayBuffer,\n submit: submit,\n substr: substr,\n sum: sum,\n timestamp: timestamp,\n toCSV: toCSV,\n toggleFullScreen: toggleFullScreen,\n translate: translate,\n treatAjaxArguments: treatAjaxArguments,\n trim: trim,\n uniqString: uniqString,\n unique: unique,\n upload: upload,\n warning: warning,\n};\nexport { fn };\n","import { substr } from '../string/substr.js';\n/**\n * Creates and adds a \"loader\" object to the property bbn.env.loaders.\n *\n * @method _addLoader\n * @global\n * @ignore\n * @memberof bbn.fn\n *\n * @param {String} requestId\n * @param {Promise} prom\n * @param {Object} aborter\n *\n * @returns {Number} The timestamp (in ms)\n */\nvar _addLoader = function (requestId, prom, aborter) {\n /** @var {Number} tst Current timestamp */\n var tst = new Date().getTime();\n /** @var {String} url The original URL (part of requestId before : and md5) */\n var url = substr(requestId, 0, requestId.length - 33);\n /** @var {Object} loader The loader object */\n var loader = {\n key: requestId,\n url: url,\n loader: prom,\n aborter: aborter,\n loading: true,\n error: false,\n abort: false,\n errorMessage: false,\n success: false,\n start: tst,\n };\n // Adding the loader in bbn.env.loaders\n bbn.env.loaders.push(loader);\n // Adding an object with this loader info in bbn.env.loadersHistory\n bbn.env.loadersHistory.unshift(loader);\n /** @var {Number} idx A pointer starting at the end of array loadersHistory */\n var idx = bbn.env.loadersHistory.length;\n // Removing elements from the loadersHistory object if their number is higher\n // than bbn.env.maxLoadersHistory\n while (idx && bbn.env.loadersHistory.length > bbn.env.maxLoadersHistory) {\n idx--;\n // Not removing the ones still loading\n if (!bbn.env.loading) {\n bbn.env.loadersHistory.splice(idx, 1);\n }\n }\n return tst;\n};\nexport { _addLoader };\n","import { search } from '../object/search.js';\nimport { getRow } from '../object/getRow.js';\nimport { isObject } from '../type/isObject.js';\n/**\n * Deletes a loader and changes its history state after the promise is fullfilled.\n *\n * @method _deleteLoader\n * @global\n * @ignore\n * @memberof bbn.fn\n *\n * @param {String} requestId The unique ID of the request sent\n * @param {String|Object} res The result of the request\n * @param {Boolean} isAbort True if the deletion comes from abortion\n *\n * @returns {Boolean} True if the loader was found\n */\nvar _deleteLoader = function (requestId, res, isAbort) {\n if (res === void 0) { res = null; }\n if (isAbort === void 0) { isAbort = false; }\n var idx = search(bbn.env.loaders, { key: requestId });\n if (idx > -1) {\n var loader = bbn.env.loaders.splice(idx, 1)[0];\n var history_1 = getRow(bbn.env.loadersHistory, { key: requestId, start: loader.start });\n if (history_1) {\n history_1.loading = false;\n history_1.duration = new Date().getTime() - loader.start;\n if (typeof res === 'string') {\n history_1.errorMessage = res;\n history_1.error = !isAbort;\n history_1.abort = isAbort;\n }\n else if (isObject(res)) {\n history_1.success = true;\n }\n }\n return true;\n }\n return false;\n};\nexport { _deleteLoader };\n","import { getLoader } from './getLoader.js';\n/**\n * Aborts (client side) the XHR corresponding to the given ID if it still exists.\n *\n * This will throw an error if the loader can't be found.\n *\n * @method abort\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.post('my/script', {a: 1, b: 2});\n * let requestId = bbn.fn.getRequestId('my/script', {a: 1, b: 2});\n * if (requestId) {\n * bbn.fn.abort(requestId);\n * }\n * ```\n *\n * @param {String} requestId An ID generated by getRequestId\n *\n * @returns {undefined}\n */\nvar abort = function (requestId) {\n var loader = getLoader(requestId);\n if (loader === null || loader === void 0 ? void 0 : loader.aborter) {\n loader.aborter.abort('Operation canceled by the user.');\n }\n /*\n else {\n throw new Error(\"Impossible to find the loader \" + requestId);\n }*/\n};\nexport { abort };\n","import { each } from '../loop/each.js';\nimport { filter } from '../object/filter.js';\n/**\n * Aborts (client side) all the XHR using the given URL if it still exists.\n *\n * This will throw an error if the loader can't be found.\n *\n * @method abortURL\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.post('my/script', {a: 1, b: 2});\n * bbn.fn.post('my/script', {c: 1, d: 2});\n * bbn.fn.abortURL('my/script');\n * ```\n *\n * @param {String} requestId An ID generated by getRequestId\n *\n * @returns {undefined}\n */\nvar abortURL = function (url) {\n each(filter(bbn.env.loaders, { url: url }), function (a) {\n if (a && a.source) {\n a.source.cancel('Operation canceled by the user.');\n }\n else {\n throw new Error('Impossible to find the loader with URL ' + url);\n }\n });\n};\nexport { abortURL };\n","import { isObject } from '../type/isObject.js';\nimport { replaceAll } from '../string/replaceAll.js';\nimport { getRequestId } from './getRequestId.js';\nimport { getLoader } from './getLoader.js';\nimport { extend } from '../object/extend.js';\nimport { numProperties } from '../object/numProperties.js';\nimport { _deleteLoader } from './_deleteLoader.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { _addLoader } from './_addLoader.js';\n/**\n * Creates an XHR object and returns the Promise.\n *\n * Checks the URL, makes an ID, creates a loader, sets the general callbacks,\n * makes a POST if data is given a GET otherwise (GET data should be added\n * directly in the URL), and returns the Promise.\n *\n * @method ajax\n * @global\n * @memberof bbn.fn\n * @example\n * ```javascript\n * // Promise\n * bbn.fn.ajax(\n * 'my/location',\n * 'json',\n * {id: 7},\n * d => {\n * console.log(d);\n * alert(\"Success!\");\n * },\n * err => {\n * console.log(err);\n * alert(\"Failure!\");\n * },\n * () => {\n * alert(\"Request aborted!\");\n * }\n * )\n * ```\n *\n * @example\n * ```javascript\n * // Promise\n * bbn.fn.ajax('my/location')\n * .then(\n * d => {\n * console.log(d);\n * alert(\"Success!\");\n * }\n * )\n * .catch(\n * err => {\n * }\n * )\n * ```\n *\n * @param {String} url The URL to be requested by XHR\n * @param {String} datatype The type of data expected\n * @param {Object} data The data to send through POST\n * @param {Function} success The function to execute if the request goes well (200)\n * @param {Function} failure The function to execute if the request goes bad\n * @param {Function} abort The function to execute if the request is aborted\n *\n * @returns {Promise} The Promise created by the generated XHR.\n */\nvar ajax = function (url, datatype, data, success, failure, abort) {\n if (datatype === void 0) { datatype = null; }\n if (data === void 0) { data = null; }\n if (success === void 0) { success = null; }\n if (failure === void 0) { failure = null; }\n if (abort === void 0) { abort = null; }\n if (arguments.length === 1 && url && typeof url === \"object\" && url.url) {\n if (url.abort) {\n abort = url.abort;\n }\n if (url.failure) {\n failure = url.failure;\n }\n if (url.success) {\n success = url.success;\n }\n if (url.data) {\n data = url.data;\n }\n if (url.datatype) {\n datatype = url.datatype;\n }\n url = url.url;\n }\n if (!url) {\n return;\n }\n if (url && typeof url === \"string\") {\n if (url.indexOf(\"://\") === -1) {\n // Prevent protocol mismatch by Axios\n url = replaceAll(\"//\", \"/\", url);\n }\n if (!datatype) {\n datatype = \"json\";\n }\n var requestId_1 = getRequestId(url, data, datatype);\n var loaderObj = getLoader(requestId_1);\n //log(\"IN AJAX\", loaderObj? loaderObj.loader : \"NO LOADER\")\n if (loaderObj === null || loaderObj === void 0 ? void 0 : loaderObj.loader) {\n return loaderObj.loader;\n }\n if (bbn.env.token) {\n extend(data || {}, { _bbn_token: bbn.env.token });\n }\n var aborter = new AbortController();\n var options = {\n responseType: datatype,\n signal: aborter.signal\n };\n if (datatype === \"text\") {\n options['headers'] = {\n accept: \"text/javascript\",\n \"Content-Type\": \"text/javascript\",\n };\n }\n var args = [url];\n if (isObject(data) && numProperties(data) > 0) {\n args.push(data);\n }\n args.push(options);\n var axiosMethod = args.length === 2 ? \"get\" : \"post\";\n var loader_1 = axios[axiosMethod]\n .apply(null, args)\n .then(function (res) {\n _deleteLoader(requestId_1, res);\n bbn.fn.defaultEndLoadingFunction(url, tst_1, data, res);\n switch (res.status) {\n case 200:\n if (isFunction(success)) {\n success(res.data, res.headers);\n }\n break;\n default:\n bbn.fn.defaultAjaxErrorFunction(loader_1, res);\n }\n return res;\n })\n .catch(function (err) {\n var isAbort = axios.isCancel(err);\n _deleteLoader(requestId_1, err.message || err.response.data, isAbort);\n bbn.fn.defaultEndLoadingFunction(url, tst_1, data, err);\n if (isAbort) {\n var ok = 1;\n if (isFunction(abort)) {\n ok = abort(err.message, url);\n }\n if (ok) {\n bbn.fn.defaultAjaxAbortFunction(err.message, url);\n }\n }\n else {\n var ok = 1;\n if (isFunction(failure)) {\n ok = failure(err.request, err);\n }\n if (ok) {\n bbn.fn.defaultAjaxErrorFunction(err.request, err.response ? err.response.data : \"\", err.response ? err.response.status : err);\n }\n }\n });\n var tst_1 = _addLoader(requestId_1, loader_1, aborter);\n bbn.fn.defaultStartLoadingFunction(url, tst_1, data, requestId_1);\n return loader_1;\n }\n};\nexport { ajax };\n","import { error } from '../browser/error.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { log } from '../browser/log.js';\n/**\n * Executes a serie of predefined actions once an Ajax request has been done.\n *\n * Used to treat all the requests functions results, it expects at least url and res to be defined;\n * The following properties from the object res have direct effects:\n * - __url__ {String}: if not given it will be automatically defined by the url parameter;\n * __the given URL will be passed to location.href (without reloading)__\n * - __prescript__ {String}: if defined it will attempt to evaluate the code contained in the property\n * - __content__ {String}: if defined and ele is defined too, the string will be inserted as content in the element\n * - __script__ {String}: if defined it will be evaluated, executed, and its result will be returned\n * - __data__ {Object}:\n * - __postscript__ {String}: if defined it will be evaluated and executed\n * - __error__ {String}: if defined it will be trigger bbn.fn.defaultAlertFunction\n *\n * If fn is defined it will be executed after prescript, otherwise it will be bbn.fn.defaultLinkFunction.\n *\n * The rest of the function comes executed if either of these results is not empty.\n *\n * If fn2 is defined it will be executed after script, otherwise it will be bbn.fn.defaultPostLinkFunction.\n *\n * Although not private this function should only be used internally.\n *\n * @method callback\n * @todo Add method description for callback\n * @global\n * @memberof bbn.fn\n *\n * @param {String} url The URL that has been called\n * @param {Object} res The object returned by the request\n * @param {Function} fn A first callback function to execute\n * @param {Function} fn2 A second callback function to execute\n * @param {HTMLElement} ele A DOM element where the content will be inserted\n *\n * @returns {*} The result of the main callback function: res.script, fn, or bbn.fn.defaultLinkFunction\n */\nvar callback = function (url, res, fn, fn2, ele) {\n if (res === void 0) { res = null; }\n if (fn === void 0) { fn = null; }\n if (fn2 === void 0) { fn2 = null; }\n if (ele === void 0) { ele = null; }\n var tmp = false;\n if (res) {\n tmp = true;\n var t = typeof res;\n var isObj = t.toLowerCase() === 'object';\n var errTitle = void 0;\n if (isObj && res.prescript) {\n /* var ok can be changed to false in prescript execution */\n try {\n eval(res.prescript);\n }\n catch (e) {\n error(e.message || '');\n }\n }\n if (isObj && res.url === undefined) {\n res.url = url;\n }\n /* Case where a callback is defined */\n if (fn && isFunction(fn)) {\n tmp = fn(res, ele);\n }\n else {\n tmp = bbn.fn.defaultLinkFunction(res, ele);\n }\n if (ele && isObj && (res.content !== undefined)) {\n if ('value' in ele) {\n ele.value = res.content;\n }\n else {\n ele.innerHTML = res.content;\n }\n }\n if (tmp && isObj && res.script) {\n if (typeof (res.script) === 'function') {\n tmp = res.script(res.data ? res.data : {}, ele || null);\n }\n else {\n tmp = (function (data, ele) {\n var r = null;\n try {\n r = eval(res.script);\n if (isFunction(r)) {\n r = r(data, ele);\n }\n }\n catch (e) {\n log(e, res);\n error(isFunction(e.getMessage) ? e.getMessage() : null);\n }\n return r;\n })(res.data ? res.data : {}, ele ? ele : false);\n }\n }\n /* Case where a callback is defined */\n if (tmp && fn2 && isFunction(fn2)) {\n fn2(res);\n }\n else if (isObj && bbn.fn.defaultPostLinkFunction) {\n bbn.fn.defaultPostLinkFunction(res, ele);\n }\n if (tmp && isObj && res.postscript) {\n eval(res.postscript);\n }\n if (isObj && res.error) {\n errTitle = res.errorTitle || bbn.lng.server_response;\n bbn.fn.defaultAlertFunction(res.error, errTitle);\n }\n }\n else {\n bbn.fn.defaultAlertFunction(bbn.lng.errorText, bbn.lng.error);\n }\n return tmp;\n};\nexport { callback };\n","import { ajax } from './ajax.js';\nimport { substr } from '../string/substr.js';\nimport { baseName } from '../string/baseName.js';\nimport { isBlob } from '../type/isBlob.js';\nimport { fileExt } from '../string/fileExt.js';\nimport { downloadContent } from './downloadContent.js';\n/**\n * Downloads a file with given filename from a URL.\n *\n * Gets the file's content as Blob through XHR, then sends it to bbn.fn.downloadContent.\n * __Attention__ The CORS policy applies\n *\n * @method download\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * // Forcing the download of an image\n * bbn.fn.download('/bbn/js-title-black.png');\n *\n * // Forcing the download of a PDF\n * bbn.fn.download('/files/my-document.pdf');\n *\n * // Changing the name as it is downloaded\n * bbn.fn.download('/files/f4b1092d71aefd96458feaa71d170f69.pdf', 'myDocument_' + bbn.fn.dateSQL() + '.pdf');\n * ```\n *\n * @param {String} url The URL from which the file will be requested\n * @param {String} filename The name for the downloaded file (otherwise it will take the basename of the url)\n * @param {Object} params A data object to send with the request\n *\n * @returns {undefined}\n */\nvar download = function (url, filename, params) {\n if (filename === void 0) { filename = ''; }\n if (params === void 0) { params = null; }\n // We can intervert the arguments\n if (filename && typeof filename === \"object\") {\n params = filename;\n filename = \"\";\n }\n return ajax(url, \"blob\", params || { _bbn_download: 1 }, function (d, headers) {\n if (!filename) {\n var prop = \"content-disposition\";\n var cd = \"attachment; filename=\";\n if ((headers === null || headers === void 0 ? void 0 : headers[prop]) && headers[prop].indexOf(cd) === 0) {\n filename = substr(headers[prop], cd.length + 1, headers[prop].length - cd.length - 2);\n }\n else {\n filename = baseName(url);\n }\n }\n if (isBlob(d)) {\n var extension = fileExt(filename);\n var htmlExtensions = [\"php\", \"html\"];\n if (typeof filename === \"string\" &&\n ((\"type\" in d && d.type !== \"text/html\") ||\n htmlExtensions.includes(extension))) {\n downloadContent(filename, d);\n return;\n }\n }\n }, function (e) {\n bbn.fn.defaultAjaxErrorFunction(e);\n });\n};\nexport { download };\n","import { isCanvas } from '../type/isCanvas.js';\nimport { isObject } from '../type/isObject.js';\nimport { isString } from '../type/isString.js';\nimport { log } from '../browser/log.js';\n/**\n * Downloads a file with given filename from the given content.\n *\n * Creates a link putting in href a URL Object Blob made of the given content,\n * which can be a canvas, a file or a blob object, or just a string.\n *\n * @method downloadContent\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * // Download from a string\n * bbn.fn.downloadContent('myTextFile.txt', 'Just a string\\nThat we can save directly in a file', 'text/plain');\n *\n * // Download from a file\n * let file = new File([\"foo\"], \"foo.txt\", {type: \"text/plain\"});\n * bbn.fn.downloadContent('foo.txt', file);\n * ```\n *\n * @param {String} filename The name for the downloaded file\n * @param {HTMLCanvasElement|File|String} content A Canvas, a File object or a String\n * @param {String} type The type of file to be made\n *\n * @returns {undefined}\n */\nvar downloadContent = function (filename, content, type) {\n if (type === void 0) { type = null; }\n if (isCanvas(content)) {\n content.toBlob(function (blob) {\n // blob ready, download it\n var a = document.createElement('a');\n a.download = filename;\n a.href = window.URL.createObjectURL(blob);\n a.className = 'bbn-no';\n a.click();\n // delete the internal blob reference, to let the browser clear memory from it\n window.URL.revokeObjectURL(a.href);\n }, type || 'image/png');\n return;\n }\n if (!type) {\n type = isObject(content) && content.type ? content.type : 'octet/stream';\n }\n else if (type.indexOf('/') === -1) {\n type = 'text/' + type;\n }\n var a = window.document.createElement('a');\n a.className = 'bbn-no';\n var src = null;\n if (isString(content)) {\n src = new Blob([content], { type: type });\n }\n else {\n try {\n src = content;\n }\n catch (e) {\n log(e);\n }\n }\n a.href = window.URL.createObjectURL(src);\n a.download = filename;\n // Append anchor to body.\n document.body.appendChild(a);\n a.click();\n window.URL.revokeObjectURL(a.href);\n // Remove anchor from body\n document.body.removeChild(a);\n};\nexport { downloadContent };\n","import { search } from '../object/search.js';\n/**\n * Finds the loader object corresponding to the given unique ID and returns it if found.\n *\n * The loader is an object representing an Ajax request, with the following properties:\n * * _key_ is the unique ID (_requestId_) of the loader\n * * _url_ is the URL called by the request\n * * _loader_ is the Promise from the Axios XHR\n * * _source_ is the source object for aborting the request\n * * _start_ is the timestamp of the moment the request was sent\n *\n * @method getLoader\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.post('my/script', {a: 1, b: 2});\n * let requestId = bbn.fn.getRequestId('my/script', {a: 1, b: 2});\n * if (requestId) {\n * let loader = bbn.fn.getLoader(requestId);\n * console.log(loader);\n * // {\n * // key: \"my/script:af27f0e81533ae2bae3c25dea67359f6\",\n * // url: \"my/script\",\n * // loader: {Promise},\n * // source: {token: {CancelToken}, cancel: {Function}},\n * // start: 1591804716757\n * // }\n * }\n * ```\n *\n * @param {String} requestId The unique ID of the request as used in bbn.env.loaders\n *\n * @returns {null|Object} The corresponding loader Object if it exists, false otherwise\n */\nvar getLoader = function (requestId) {\n var idx = search(bbn.env.loaders, { key: requestId });\n if (idx > -1) {\n return bbn.env.loaders[idx];\n }\n return null;\n};\nexport { getLoader };\n","import { iterate } from '../loop/iterate.js';\nimport { md5 } from '../string/md5.js';\n/**\n * Returns a unique ID for a \"loader\" based on the URL, the data keys and the datatype.\n *\n * The routing functions don't allow to send the same request at the same moment,\n * therefore a unique ID is generated to identify them, based on the URL,\n * the keys of the data sent, and the expected returned data type.\n *\n * @method getRequestId\n * @global\n *\n * @example\n * ```javascript\n * // The URL is the first part of the key\n * bbn.fn.getRequestId('my/location', {a: 1, b: 2});\n * // my/location:af27f0e81533ae2bae3c25dea67359f6\n * bbn.fn.getRequestId('my/other/location', {a: 1, b: 2});\n * // my/other/location:af27f0e81533ae2bae3c25dea67359f6\n * ```\n *\n * @example\n * ```javascript\n * // A change of value will not change the requestId\n * bbn.fn.getRequestId('my/location', {a: 1, b: 3});\n * // my/location:af27f0e81533ae2bae3c25dea67359f6\n * // A change of key will\n * bbn.fn.getRequestId('my/location', {a: 1, c: 3});\n * // my/location:fde97ca7c6c998c911f4ab481a136d5f\n * ```\n *\n * @example\n * ```javascript\n * // Same with nested object\n * bbn.fn.getRequestId('my/location', {data: {a: 1, b: 3}});\n * // my/location:a7a58435275054106c4e4c9fb0cea5e5\n * bbn.fn.getRequestId('my/location', {data: {a: 1, b: 2}});\n * // my/location:a7a58435275054106c4e4c9fb0cea5e5\n * bbn.fn.getRequestId('my/location', {data: {a: 1, c: 3}});\n * // my/location:730da481e30d421afbadf1f1282dabb7\n * ```\n *\n * @memberof bbn.fn\n *\n * @param {String} url The URL used by the request\n * @param {Object} data The data sent to the URL\n * @param {String} datatype The type of data requested (JSON by default)\n *\n * @returns {String} The unique ID\n */\nvar getRequestId = function (url, data, datatype) {\n var d = {};\n if (data) {\n iterate(data, function (a, n) {\n if (n.indexOf('_bbn') === -1) {\n d[n] = a;\n }\n });\n }\n return url + ':' + md5((datatype || 'json') + JSON.stringify(d));\n};\nexport { getRequestId };\n","import { treatAjaxArguments } from './treatAjaxArguments.js';\nimport { getLoader } from './getLoader.js';\nimport { ajax } from './ajax.js';\nimport { log } from '../browser/log.js';\nimport { extend } from '../object/extend.js';\nimport { isObject } from '../type/isObject.js';\nimport { callback } from './callback.js';\nimport { setNavigationVars } from './setNavigationVars.js';\n/**\n * Follows a link and if needed by sending the corresponding Ajax request and executing bbn.fn.defaultPreLinkFunction.\n *\n * Once bbn has been initiated this function will be triggered every time a link is clicked.\n * It accepts the same arguments as seen in treatAjaxArguments but will tipically just be called with a URL,\n * the defaultLinkURL functions being in charge of loading the content\n *\n * @method link\n * @todo Manage anchors + returned data unclear\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * // Will open in a new window/tab\n * bbn.fn.link('https://nytimes.com');\n * // Will send an Ajax request\n * bbn.fn.link('my/page');\n * // Will open your default email program\n * bbn.fn.link('mailto:postmaster@test.com');\n * ```\n *\n * @returns\n */\nvar link = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cfg = treatAjaxArguments(args);\n var ok = 1;\n if (cfg === true) {\n return true;\n }\n /* If we can't find a correct link we load the current URL */\n if (!cfg) {\n return link(window.location.href);\n }\n /* Just executing the javascript if there is */\n if (cfg.url.indexOf('javascript:') === 0) {\n return true;\n }\n if (cfg.url.indexOf('data:') === 0) {\n return true;\n }\n if (cfg.url.indexOf('#') === 0) {\n location.href = bbn.env.url + cfg.url;\n /*\n if ( window.history ){\n bbn.env.historyDisabled = true;\n let state = h.state;\n window.history.replaceState(null, state.title, bbn.env.url);\n }\n bbn.env.historyDisabled = false;\n */\n return true;\n }\n else if (cfg.url.indexOf('mailto:') === 0) {\n /* Mail link */\n bbn.env.ignoreUnload = true;\n window.location.href = cfg.url;\n setTimeout(function () {\n bbn.env.ignoreUnload = false;\n }, 0);\n return false;\n }\n if (getLoader(cfg.url)) {\n return false;\n }\n /* Opens an external page in a new window */\n if ((cfg.url.indexOf('http://') === 0 || cfg.url.indexOf('https://') === 0) &&\n cfg.url.indexOf(bbn.env.host) !== 0) {\n if (cfg.e) {\n cfg.e.preventDefault();\n }\n window.open(cfg.url);\n return false;\n }\n else if (cfg.url !== bbn.env.params.join('/') || cfg.force === 1) {\n /* The URL is fine so go ahead if something is not already loading */\n /* If a second callback is defined, it is triggered instead of defaultPreLinkFunction */\n if (cfg.successFn) {\n ok = cfg.successFn(cfg.url);\n }\n else if (bbn.fn.defaultPreLinkFunction) {\n var tmp = bbn.fn.defaultPreLinkFunction(cfg.url, cfg.force, cfg.ele);\n if (tmp.data !== undefined) {\n extend(cfg.obj, tmp.data);\n ok = 1;\n }\n else {\n ok = tmp;\n }\n }\n if (ok) {\n if (ok !== 1 && typeof ok === 'string') {\n cfg.url = ok;\n }\n /** todo Do we keep obj in the unique string or do we make that only one concurrent connection to the same address can occur at the same time? */\n var errSt_1 = bbn._('The Ajax call to') + ' ' + cfg.url + ' ';\n return ajax(cfg.url, cfg.datatype, cfg.obj, function (res) {\n if (!res) {\n log(errSt_1 + bbn._('returned no answer'));\n }\n if (isObject(res)) {\n // If there's nothing in the result, just an empty object, the callback stops here and the URL is not changed\n if (Object.keys(res).length === 0) {\n log(errSt_1 + bbn._('returned an empty object'));\n }\n if (res.new_url) {\n res.old_path = cfg.url;\n cfg.url = res.new_url;\n }\n else if (res.url && cfg.url !== res.url) {\n res.old_path = cfg.url;\n }\n }\n if (callback(cfg.url, res, cfg.successFn, null, cfg.ele) && res.noNav === undefined) {\n // This solution is not very clean (we can't shorten a URL)\n if (bbn.env.path.indexOf(cfg.url) !== 0) {\n setNavigationVars(cfg.url, (res.title ? res.title + ' - ' : '') + bbn.env.siteTitle);\n }\n }\n }, cfg.errorFn || null);\n }\n }\n return true;\n};\nexport { link };\n","import { treatAjaxArguments } from './treatAjaxArguments.js';\nimport { ajax } from './ajax.js';\nimport { callback } from './callback.js';\n/**\n * Creates a POST XHR through bbn.fn.ajax then launches bbn.fn.callback with the result.\n *\n * URL is the only mandatory argument (see treatAjaxArguments for the arguments).\n *\n * @method post\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.post('logout').then(() => {\n * document.location.reload();\n * });\n * // With data\n * bbn.fn.post('login', {user: 'tn', pass: 'xxx'}).then((d) => {\n * if (d && d.success) {\n * alert('Welcome!');\n * }\n * });\n * // With the callback as argument\n * bbn.fn.post('login', {user: 'tn', pass: 'xxx'}, (d) => {\n * if (d && d.success) {\n * alert('Welcome!');\n * }\n * }, (err) => {\n * bbn.fn.log(err);\n * mySpecialErrorFunction(err);\n * });\n * ```\n *\n * @returns {undefined|Promise}\n */\nvar post = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cfg = treatAjaxArguments(args);\n if (cfg.url) {\n return ajax(cfg.url, cfg.datatype, cfg.obj, function (res) {\n callback(cfg.url, res, cfg.successFn, null, cfg.ele);\n }, cfg.errorFn, cfg.abortFn);\n }\n};\nexport { post };\n","import { createObject } from '../object/createObject.js';\nimport { addInputs } from '../form/addInputs.js';\nimport { setProperty } from '../object/setProperty.js';\n/**\n * Posts a request in a new window.\n *\n * @method postOut\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.postOut('https://external-service.com/download/account-2019-06.pdf', {clientId: 547912, token: xxx});\n * ```\n *\n * @param {String} url The url to which the request should be sent\n * @param {Object} data The data to be sent\n * @param {Function} success A function to execute in case of success\n * @param {String} target The target attribute of the form\n *\n * @returns {void}\n */\nvar postOut = function (url, data, success, target) {\n if (success === void 0) { success = null; }\n if (target === void 0) { target = \"\"; }\n var form = document.body.querySelector(\"form#bbn-form_out\");\n if (!form) {\n form = document.createElement(\"form\");\n form.classList.add(\"bbn-no\");\n form.setAttribute(\"id\", \"bbn-form_out\");\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"enctype\", \"multipart/form-data-encoded\");\n setProperty(form, \"style.display\", \"none\");\n document.body.appendChild(form);\n }\n if (form instanceof HTMLFormElement) {\n form.innerHTML = \"\";\n form.setAttribute(\"action\", url);\n form.setAttribute(\"target\", target || \"_blank\");\n if (!data) {\n data = {};\n }\n data = createObject(data);\n if (!data.bbn) {\n data.bbn = \"public\";\n }\n addInputs(form, data);\n form.submit();\n if (success) {\n success();\n }\n }\n};\nexport { postOut };\n","import { substr } from '../string/substr.js';\nimport { filter } from '../object/filter.js';\nimport { extend } from '../object/extend.js';\nimport { html2text } from '../html/html2text.js';\n/**\n * Changes the URL and the associated variables and updates the history.\n *\n * @method setNavigationVars\n * @todo Add method description for setNavigationVars\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * // Changing URL\n * bbn.fn.setNavigationVars('my/page', 'My page');\n * // Replacing the previous state\n * bbn.fn.setNavigationVars('my/page/deeper', 'My deeper page', null, true);\n * ```\n *\n * @param {String} url The URL which will become the location.href\n * @param {String} title The title corresponding to the given URL\n * @param {Object} data The data if any\n * @param {Boolean} repl If true the history state object will replace the current one, will be added otherwise\n *\n * @returns {void}\n */\nvar setNavigationVars = function (url, title, data, repl) {\n if (data === void 0) { data = null; }\n if (repl === void 0) { repl = false; }\n // Current path becomes old path\n bbn.env.old_path = bbn.env.path;\n // URL includes the domain\n bbn.env.url = ['https:/', 'http://'].includes(substr(url, 0, 7)) ? url : bbn.env.root + url;\n // Path does not\n bbn.env.path = substr(bbn.env.url, bbn.env.root.length);\n // Params will include each part of the URL\n bbn.env.params = filter(bbn.env.path.split('/'), function (v) {\n return v !== '';\n });\n // Managing history\n var h = window.history;\n if (h) {\n // Current state\n var state = h.state;\n // Future state\n var obj = {\n url: bbn.env.path,\n old_path: bbn.env.old_path || null,\n data: data || {},\n reload: false\n };\n // If same URL we replace\n if (state && state.url === bbn.env.path) {\n if (state.data) {\n extend(obj.data, state.data);\n }\n if (state.title && !title) {\n title = state.title;\n }\n repl = true;\n }\n // If no title the global title\n if (!title) {\n title = bbn.env.siteTitle;\n }\n // Otherwise we add the global title at the end\n else {\n title = html2text(title);\n }\n // Replacing state\n if (repl) {\n obj.reload = true;\n h.replaceState(obj, title, bbn.env.url);\n }\n // Adding state\n else {\n h.pushState(obj, title, bbn.env.url);\n }\n }\n};\nexport { setNavigationVars };\n","import { isObject } from '../type/isObject.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { substr } from '../string/substr.js';\nimport { numProperties } from '../object/numProperties.js';\n/**\n * Transforms unordered arguments into a configuratiuon object for Ajax shortcut functions.\n *\n * The final object will have the following arguments: url, obj, datatype, force, successFn,\n * errorFn, abortFn, e, and ele; The rules are:\n * * The first string found is the URL\n * * The second string found is the datatype\n * * The first function is successFn\n * * The second function is errorFn\n * * The third function is abortFn\n * * A boolean true is force\n * * An Event is e\n * * An HTML element is ele\n *\n * If no object is given the _bbn property will be added in order to always post something\n * and let the bbn server scripts know if a whole DOM is requested or a JSON answer\n *\n * @method treatAjaxArguments\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.treatAjaxArguments(['my/script', 'json', {a:1, b:2}, () => bbn.fn.log('Hi'), () => bbn.fn.log('Bye'), () => bbn.fn.log('Argh'), true])\n * // {\n * // \"url\": \"my/script\",\n * // \"datatype\": \"json\",\n * // \"obj\": {\n * // \"a\": 1,\n * // \"b\": 2\n * // },\n * // \"successFn\": () => bbn.fn.log('Hi'),\n * // \"errorFn\": () => bbn.fn.log('Bye'),\n * // \"abortFn\": () => bbn.fn.log('Argh'),\n * // \"force\": true\n * // }\n *\n * bbn.fn.treatAjaxArguments(['my/script?id=1'])\n * // {\n * // \"url\": \"my/script?id=1\",\n * // \"obj\": {\n * // \"_bbn\": \"public\"\n * // },\n * // \"datatype\": \"json\"\n * // }\n * ```\n *\n * @param {*} args\n *\n * @returns {Object} The configuration object\n */\nvar treatAjaxArguments = function (args) {\n var cfg = {};\n var t;\n var i;\n if (isObject(args[0]) && args.length === 1) {\n return args[0];\n }\n for (i = 0; i < args.length; i++) {\n t = typeof args[i];\n t = t.toLowerCase();\n /* Callbacks */\n if (isFunction(args[i])) {\n if (cfg[\"errorFn\"] && !cfg[\"abortFn\"]) {\n cfg[\"abortFn\"] = args[i];\n }\n if (cfg[\"successFn\"] && !cfg[\"errorFn\"]) {\n cfg[\"errorFn\"] = args[i];\n }\n else if (!cfg[\"successFn\"]) {\n cfg[\"successFn\"] = args[i];\n }\n }\n else if (args[i] === 1 || args[i] === true) {\n /* Force */\n cfg[\"force\"] = true;\n }\n else if (t === \"string\") {\n if (!cfg[\"url\"]) {\n /* Hash */\n if (args[i].indexOf(\"#\") === 0 ||\n args[i].indexOf(bbn.env.root + \"#\") === 0) {\n cfg[\"url\"] = substr(args[i], bbn.env.root.length);\n }\n else {\n /* Link */\n cfg[\"url\"] = args[i];\n if (cfg[\"url\"].indexOf(bbn.env.root) === 0) {\n cfg[\"url\"] = substr(cfg[\"url\"], bbn.env.root.length);\n }\n }\n }\n else {\n /* Ajax datatype */\n cfg[\"datatype\"] = args[i];\n }\n }\n else if (args[i] && t === \"object\") {\n /* Event */\n if (args[i] instanceof Event) {\n cfg[\"e\"] = args[i];\n }\n else if (!cfg[\"ele\"] && args[i].nodeType === 1) {\n /* HTML Element */\n cfg[\"ele\"] = args[i];\n }\n else if (t.toLowerCase() === \"object\") {\n /* An object to post */\n cfg[\"obj\"] = args[i];\n }\n }\n }\n if (!cfg[\"url\"] && numProperties(cfg)) {\n cfg[\"url\"] = bbn.env.path;\n }\n if (cfg[\"obj\"] === undefined) {\n cfg[\"obj\"] = { _bbn: \"public\" };\n }\n if (!cfg[\"datatype\"]) {\n cfg[\"datatype\"] = \"json\";\n }\n return cfg;\n};\nexport { treatAjaxArguments };\n","import { objectToFormData } from '../form/objectToFormData.js';\nimport { log } from '../browser/log.js';\n/**\n * Uploads a file synchronously through an XHR indicating progress.\n *\n * @method upload\n * @todo examples\n * @global\n * @memberof bbn.fn\n *\n * @param {String} url The URL to which the file should be uploaded\n * @param {File} file A File object or an array of data\n * @param {Function} success A function to execute after success\n * @param {Function} failure A function to execute after failure\n * @param {Function} progress A function to execute during progress\n *\n * @returns {Promise}\n */\nvar upload = function (url, file, success, failure, progress) {\n if (success === void 0) { success = null; }\n if (failure === void 0) { failure = null; }\n if (progress === void 0) { progress = null; }\n var fn = function () {\n return axios.post(url || bbn.env.path, objectToFormData(file), {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n onUploadProgress: function (progressEvent) {\n if (progress) {\n var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);\n progress(percentCompleted, progressEvent.loaded, progressEvent.total);\n }\n },\n });\n };\n if (!success && !failure) {\n return fn();\n }\n else {\n return fn()\n .then(function (res) {\n if (success) {\n log('SUCCESS', res);\n success(res);\n }\n })\n .catch(function (err) {\n if (failure) {\n log('ERROR', err);\n failure(err);\n }\n });\n }\n};\nexport { upload };\n","import { isObject } from '../type/isObject.js';\nimport { isFunction } from '../type/isFunction.js';\n/**\n * Copies to the clipboard the value of the given string.\n * @method copy\n * @global\n * ``` javascript\n * let myVal = 'the value you want to copy to clipbord';\n * bbn.fn.copy(myVal);\n *\n * ```\n * @memberof bbn.fn\n * @param {String} st The string to copy.\n * @returns\n */\nvar copy = function (st) {\n return new Promise(function (resolve) {\n var _a;\n if (st) {\n if (navigator && navigator.clipboard) {\n if (st instanceof Blob) {\n navigator.clipboard.write([new ClipboardItem((_a = {}, _a[st.type.toString()] = st, _a))]).then(function () {\n resolve(true);\n });\n }\n else if (isObject(st) && isFunction(st.toBlob)) {\n st.toBlob(function (blob) {\n var _a;\n navigator.clipboard.write([new ClipboardItem((_a = {}, _a[blob.type.toString()] = blob, _a))]).then(function () {\n resolve(true);\n });\n });\n }\n else {\n navigator.clipboard.writeText(st);\n resolve(true);\n }\n return;\n }\n var input = document.createElement('textarea');\n input.style.opacity = '0';\n input.value = st;\n document.body.appendChild(input);\n input.select();\n document.execCommand('copy');\n document.body.removeChild(input);\n resolve(true);\n }\n resolve(false);\n });\n};\nexport { copy };\n","/**\n * Erase the cookie corresponding to the given name;\n *\n * @method eraseCookie\n * @global\n * @example\n * ``` javascript\n * // 'en'\n * bbn.fn.erase('lang');\n * ```\n * @memberof bbn.fn\n * @returns {*}\n */\nvar eraseCookie = function (name) {\n document.cookie = name + '=; Max-Age=-99999999;';\n};\nexport { eraseCookie };\n","import { log } from './log.js';\n/**\n * Throws an error.\n * @method error\n * @global\n * @ignore\n * ``` javascript\n * bbn.fn.error('I log this error in console with a red background')\n * ```\n * @memberof bbn.fn\n * @param {String} errorMsg\n * @returns\n */\nvar error = function (errorMsg) {\n if (arguments.length > 1) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.unshift({\n _bbn_console_mode: 'error',\n _bbn_console_level: 1,\n _bbn_console_style: 'color: #E64141; background: #F7E195; font-size: 14px',\n });\n log.apply(this, args);\n }\n throw new Error(errorMsg);\n};\nexport { error };\n","/**\n * Gets the browser's name\n * @method getBrowserName\n * @global\n * @memberof bbn.fn\n * @returns {String}\n */\nvar getBrowserName = function () {\n var userAgent = navigator.userAgent.toLowerCase();\n switch (true) {\n case userAgent.includes('edge'):\n case userAgent.includes('edg/'):\n return 'Edge';\n case userAgent.includes('opr') && !!window['opr']:\n return 'Opera';\n case userAgent.includes('chrome') && !!window['chrome']:\n return 'Chrome';\n case userAgent.includes('trident'):\n return 'Internet Explorer';\n case userAgent.includes('firefox'):\n return 'Firefox';\n case userAgent.includes('safari'):\n return 'Safari';\n default:\n return 'Other';\n }\n};\nexport { getBrowserName };\n","/**\n * Gets the browser's version\n * @method getBrowserVersion\n * @global\n * @memberof bbn.fn\n * @returns {String}\n */\nvar getBrowserVersion = function () {\n var userAgent = navigator.userAgent.toLowerCase();\n switch (true) {\n case userAgent.includes('edge/'):\n return userAgent.split('edge/')[1].split(' ')[0];\n case userAgent.includes('edg/'):\n return userAgent.split('edg/')[1].split(' ')[0];\n case userAgent.includes('opr/') && !!window['opr']:\n return userAgent.split('opr/')[1].split(' ')[0];\n case userAgent.includes('chrome/') && !!window['chrome']:\n return userAgent.split('chrome/')[1].split(' ')[0];\n case userAgent.includes('trident/'):\n return userAgent.split('trident/')[1].split(' ')[0];\n case userAgent.includes('firefox/'):\n return userAgent.split('firefox/')[1].split(' ')[0];\n case userAgent.includes('safari/'):\n return userAgent.split('version/')[1].split(' ')[0];\n default:\n return '';\n }\n};\nexport { getBrowserVersion };\n","/**\n * If it exsists returns the cookie corresponding to the given name.\n *\n * @method getCookie\n * @example\n * ``` javascript\n * // 'en'\n * bbn.fn.getCookie('lang');\n * ```\n * @global\n * @memberof bbn.fn\n * @param {String} name\n * @returns\n */\nvar getCookie = function (name) {\n var nameEqual = name + '=';\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEqual) == 0) {\n var st = c.substring(nameEqual.length, c.length);\n if (st) {\n return JSON.parse(unescape(st)).value;\n }\n }\n }\n return null;\n};\nexport { getCookie };\n","/**\n * Returns the current device type.\n * @method getDeviceType\n * @global\n * @example\n * ``` javascript\n * bbn.fn.getDeviceType();\n * // mobile\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar getDeviceType = function () {\n var userAgent = navigator.userAgent.toLowerCase();\n if (/iPhone|Android/i.test(navigator.userAgent)) {\n return 'mobile';\n }\n if (/(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(userAgent)) {\n return 'tablet';\n }\n return 'desktop';\n};\nexport { getDeviceType };\n","import { getHTMLOfSelection } from '../html/getHTMLOfSelection.js';\nimport { each } from '../loop/each.js';\n/**\n * Returns a promise having the event's data as argument.\n * @method getEventData\n * @global\n * @example\n * ``` javascript\n * let type = e.type;\n * bbn.fn.getEventData(e).then((data) => {\n * bbn.fn.log(\"DATA FROM \" + type, data);\n * });\n * ```\n * @memberof bbn.fn\n * @returns {Promise}\n */\nvar getEventData = function (e) {\n var dt = e.dataTransfer || e.clipboardData;\n var t = dt.getData('Text');\n var res = { raw: t, files: [], str: [] };\n var p = new Promise(function (ok, err) {\n var done = !(dt instanceof DataTransfer);\n if (!t && e.type === 'copy') {\n var sel = window.getSelection();\n res.raw = sel.toString();\n var html = getHTMLOfSelection();\n res.str.push({\n type: 'text/plain',\n data: res.raw,\n });\n if (html !== res.raw) {\n res.str.push({\n type: 'text/html',\n data: html,\n });\n }\n else if (res.raw.trim().indexOf('<') === 0) {\n res.str.push({\n type: 'text/html',\n data: \"<meta charset='utf-8'><code style=\\\"white-space: pre; font-family: 'Courier New', sans-serif\\\">\\n\" +\n res.raw +\n '\\n</code>',\n });\n }\n done = true;\n ok(res);\n }\n if (!done) {\n var strings_1 = [];\n var num_1 = dt.items.length;\n each(dt.items, function (item, idx) {\n var kind = item.kind;\n var type = item.type;\n if (kind === 'file') {\n var cp = dt.files[idx];\n if (!type && cp.name) {\n var bits = cp.name.split('.');\n type = bits[bits.length - 1];\n }\n var name_1 = cp ? cp.name : bbn._('untitled');\n var size = cp ? cp.size : null;\n var lastModified = cp ? cp.lastModified : null;\n var blob = item.getAsFile();\n if (blob) {\n done = true;\n num_1--;\n res.files.push({\n type: type,\n data: blob,\n name: name_1,\n size: size,\n mdate: lastModified,\n });\n strings_1.push(name_1);\n if (!num_1) {\n if (!res.raw) {\n res.raw = strings_1.join(', ');\n }\n ok(res);\n }\n }\n else {\n bbn.fn.defaultErrorFunction(bbn._('Impossible to read the file') + ' ' + name_1);\n }\n }\n else {\n done = true;\n item.getAsString(function (data) {\n num_1--;\n res.str.push({\n type: type,\n data: data,\n });\n if (type === 'text/plain') {\n strings_1.push(name);\n }\n if (!num_1) {\n if (!res.raw) {\n res.raw = strings_1.join(', ');\n }\n ok(res);\n }\n });\n }\n });\n }\n if (!done) {\n setTimeout(function () {\n ok(res);\n });\n }\n });\n return p;\n};\nexport { getEventData };\n","import { log } from './log.js';\n/**\n * Logs the given argument in the browser's console highlighting it with a green background.\n * @method happy\n * @global\n * @example\n * ``` javascript\n * bbn.fn.happy('I want to log the success of my function');\n * ```\n * @memberof bbn.fn\n * @param {...any} args\n * @returns\n */\nvar happy = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n args.unshift({\n _bbn_console_level: 3,\n _bbn_console_style: 'color: white; background: green; font-size: 18px;',\n });\n log.apply(this, args);\n return this;\n};\nexport { happy };\n","var history = function () {\n return window.history || false;\n};\nexport { history };\n","import { log } from './log.js';\n/**\n * Logs the given argument in the browser's console highlighting it with a blue background.\n * @method info\n * @global\n * @memberof bbn.fn\n * @param {...any} args\n * @returns {*}\n */\nvar info = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n args.unshift({\n //_bbn_console_mode: \"info\",\n _bbn_console_level: 4,\n _bbn_console_style: 'color: #EEE; background: blue; font-size: 12px;',\n });\n log.apply(this, args);\n return this;\n};\nexport { info };\n","/**\n * Tells if the interface is beeing active for the past x seconds.\n * @method isActiveInterface\n * @global\n * @example\n * // true\n * ``` javascript\n * bbn.fn.isActiveInterface(54764654);\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isActiveInterface = function (secs) {\n if (secs === void 0) { secs = 600; }\n if (!bbn.env.last_focus) {\n return false;\n }\n var t = new Date().getTime();\n return t - bbn.env.last_focus < secs * 1000;\n};\nexport { isActiveInterface };\n","import { getDeviceType } from '../browser/getDeviceType.js';\n/**\n * Returns true if the current device type is a desktop.\n * @method isDesktopDevice\n * @global\n * @example\n * ``` javascript\n * bbn.fn.isDesktopDevice();\n * // true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isDesktopDevice = function () {\n return getDeviceType() === 'desktop';\n};\nexport { isDesktopDevice };\n","/**\n * Checks whether the given elemet is focused or not.\n *\n * @method isFocused\n * @global\n * @example\n * ``` javascript\n * bbn.fn.isFocused(document.getElementById('input_name'));\n * // false\n * bbn.fn.isFocused(bbn.sel('.container'));\n * // true\n * ```\n * @memberof bbn.fn\n *\n * @param {Element} ele The element to be checked for focus\n * @param {Boolean} contain If true will check if the focused element is contained in the given element\n *\n * @returns {Boolean} True if focused\n */\nvar isFocused = function (ele, contain) {\n if (contain === void 0) { contain = false; }\n return ele === document.activeElement || (contain && ele.contains && ele.contains(document.activeElement));\n};\nexport { isFocused };\n","import { isMobileDevice } from './isMobileDevice.js';\nimport { isTabletDevice } from './isTabletDevice.js';\n/**\n * Returns true if the current browser is on a mobile device (smartphone or tablet).\n * @method isMobile\n * @global\n * @example\n * ``` javascript\n * bbn.fn.isMobile();\n * // false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isMobile = function () {\n return isMobileDevice() || isTabletDevice();\n};\nexport { isMobile };\n","import { getDeviceType } from '../browser/getDeviceType.js';\nvar isMobileDevice = function () {\n return getDeviceType() === 'mobile';\n};\nexport { isMobileDevice };\n","import { getDeviceType } from '../browser/getDeviceType.js';\n/**\n * Returns true if the current device type is a tablet.\n * @method isTabletDevice\n * @global\n * @example\n * ``` javascript\n * bbn.fn.isTabletDevice();\n * // false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isTabletDevice = function () {\n return getDeviceType() === 'tablet';\n};\nexport { isTabletDevice };\n","import { isFunction } from '../type/isFunction.js';\n/**\n * Logs the given arguments in the browser's console.\n * @method log\n * @global\n * @example\n * ```javascript\n * //'hello'\n * bbn.fn.log('hello');\n * ```\n * @memberof bbn.fn\n * @param {...any} args\n * @returns\n */\nvar log = function () {\n var _a, _b;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (window.console !== undefined) {\n var cfg = void 0;\n var level = 5;\n var fn = 'log';\n if (args[0] && typeof args[0] === 'object' && args[0]._bbn_console_style) {\n if (args[0]._bbn_console_mode && isFunction(console[args[0]._bbn_console_mode])) {\n fn = args[0]._bbn_console_mode;\n }\n else {\n cfg = args[0]._bbn_console_style;\n level = args[0]._bbn_console_level;\n }\n args.shift();\n }\n var exec = window.console[fn];\n if (((_b = (_a = window['bbn']) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.loggingLevel) >= level) {\n var i = 0;\n while (i < args.length) {\n var t = typeof args[i];\n var consoleArguments = [args[i]];\n if (t === 'string' || t === 'number') {\n consoleArguments.unshift('%c %s ', cfg);\n }\n exec.apply(window.console, consoleArguments);\n i++;\n }\n }\n }\n return this;\n};\nexport { log };\n","var replaceSelection = function (html, selectInserted) {\n var sel, range, fragment;\n sel = window.getSelection();\n // Test that the Selection object contains at least one Range\n if (sel.getRangeAt && sel.rangeCount) {\n // Get the first Range (only Firefox supports more than one)\n range = window.getSelection().getRangeAt(0);\n range.deleteContents();\n // Create a DocumentFragment to insert and populate it with HTML\n // Need to test for the existence of range.createContextualFragment\n // because it's non-standard and IE 9 does not support it\n if (range.createContextualFragment) {\n fragment = range.createContextualFragment(html);\n }\n else {\n // In IE 9 we need to use innerHTML of a temporary element\n var div = document.createElement('div');\n var child = void 0;\n div.innerHTML = html;\n fragment = document.createDocumentFragment();\n while ((child = div.firstChild)) {\n fragment.appendChild(child);\n }\n }\n var firstInsertedNode = fragment.firstChild;\n var lastInsertedNode = fragment.lastChild;\n range.insertNode(fragment);\n sel.removeAllRanges();\n if (selectInserted) {\n if (firstInsertedNode) {\n range.setStartBefore(firstInsertedNode);\n range.setEndAfter(lastInsertedNode);\n }\n sel.addRange(range);\n }\n else {\n range.setStartAfter(lastInsertedNode);\n sel.addRange(range);\n }\n }\n};\nexport { replaceSelection };\n","/**\n * Selects the content of an element.\n *\n * @method selectElementText\n * @global\n * @example\n * ``` javascript\n * bbn.fn.selectElementText(document.getElementById('my_input_id'));\n * // false\n * bbn.fn.selectElementText(bbn.$('#my_span_id'));\n * // true\n * ```\n * @memberof bbn.fn\n *\n * @param {Element} ele The element in which the text should be selected\n * @param {Boolean} win The window object\n *\n * @returns {Boolean} True if focused\n */\nvar selectElementText = function (ele, win) {\n if (win === void 0) { win = null; }\n win = win || window;\n if (ele instanceof HTMLInputElement) {\n ele.select();\n return;\n }\n var doc = win.document;\n var sel;\n var range;\n if (win.getSelection && doc.createRange) {\n sel = win.getSelection();\n range = doc.createRange();\n range.selectNodeContents(ele);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n else if (('createTextRange' in doc.body) && (typeof doc.body.createTextRange === 'function')) {\n range = doc.body.createTextRange();\n range.moveToElementText(ele);\n range.select();\n }\n};\nexport { selectElementText };\n","/**\n * Creates a cookie and assigns it to document.cookie.\n * @method setCookie\n * @global\n * @example\n * ``` javascript\n * bbn.fn.setCookie('lang', 'en', 2);\n * ```\n * @memberof bbn.fn\n * @param {String} name The name of the cookie.\n * @param {String} value The value of the cookie.\n * @param {Number} days The days before expiration of the cookie.\n * @returns\n */\nvar setCookie = function (name, value, days) {\n var expires = '';\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n var st = escape(JSON.stringify({ value: value }));\n document.cookie = name + '=' + st + expires + '; path=/';\n};\nexport { setCookie };\n","import { resize } from '../style/resize.js';\nvar toggleFullScreen = function () {\n if ('mozRequestFullScreen' in window.document.documentElement) {\n if (window.document['mozFullScreen']) {\n window.document['mozCancelFullScreen']();\n }\n else if (typeof window.document.documentElement.mozRequestFullScreen === 'function') {\n window.document.documentElement.mozRequestFullScreen();\n }\n }\n else if ('webkitRequestFullScreen' in window.document.documentElement) {\n if (window.document['webkitIsFullScreen']) {\n window.document['webkitCancelFullScreen']();\n }\n else if (typeof window.document.documentElement.webkitRequestFullScreen === 'function') {\n window.document.documentElement.webkitRequestFullScreen();\n }\n }\n else if ('msRequestFullScreen' in window.document.documentElement) {\n if (window.document['msFullscreenEnabled']) {\n window.document['msExitFullscreen']();\n }\n else if (typeof window.document.documentElement.msRequestFullScreen === 'function') {\n window.document.documentElement.msRequestFullScreen();\n }\n }\n else if ('requestFullscreen' in window.document) {\n if (window.document.fullscreenEnabled) {\n window.document.exitFullscreen();\n }\n else {\n window.document.documentElement.requestFullscreen();\n }\n }\n setTimeout(function () {\n resize();\n }, 0);\n};\nexport { toggleFullScreen };\n","import { log } from './log.js';\n/**\n * Logs the given argument in the browser's console highlighting it with a yellow background and red color.\n * @method warning\n * @global\n * @example\n * ```javascript\n * bbn.fn.warning('whatever you want to log as a warning');\n * ```\n * @memberof bbn.fn\n * @param {...any} args\n * @returns\n */\nvar warning = function (message) {\n var args = ['BBN: ' + message];\n var obj = {\n _bbn_console_mode: 'warn',\n _bbn_console_level: 2,\n _bbn_console_style: 'color: #E64141; background: #F7E195; font-size: 14px',\n };\n args.unshift(obj);\n log.apply(this, args);\n};\nexport { warning };\n","var arrayBuffer2String = function (buf) {\n return String.fromCharCode.apply(null, new Uint16Array(buf));\n};\nexport { arrayBuffer2String };\n","/**\n * Returns a canvas in a HTML element img\n * @method canvasToImage\n * @global\n * ``` javascript\n * //<img src=\"data:image/png;base64,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\">\n * let a = '<canvas width=\"60\" height=\"32\"></canvas>';\n * bbn.fn.canvasToImage(a);\n * ```\n *\n * @memberof bbn.fn\n * @param {canvas} canvas\n * @returns {HTMLElement}\n */\nvar canvasToImage = function (canvas) {\n var img = new Image();\n img.src = canvas.toDataURL('image/png');\n return img;\n};\nexport { canvasToImage };\n","/**\n * Returns the hex color of the given rgb or color name.\n * @method colorToHex\n * @global\n * @example\n * ```javascript\n * //\"#ff0000\"\n * bbn.fn.colorToHex('red');\n * ```\n *\n * @example\n * ```javascript\n * //\"#ff0000\"\n * bbn.fn.colorToHex('rgb(255,0,0)');\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar colorToHex = function (color) {\n var canvas = document.createElement(\"canvas\").getContext(\"2d\");\n canvas.fillStyle = color;\n return canvas.fillStyle;\n};\nexport { colorToHex };\n","/**\n * Parses XML and returns an object.\n *\n * Picked from https://stackoverflow.com/questions/4200913/xml-to-javascript-object\n *\n * @memberof bbn.fn\n * @param {String} xml The XML to be parsed\n * @param {Array} arrayTags An array of tag names which should always be returned as array (even if single)\n * @returns {Object}\n */\nvar fromXml = function (xml, arrayTags) {\n var dom = null;\n if (window.DOMParser)\n dom = new DOMParser().parseFromString(xml, \"text/xml\");\n else if (window[\"ActiveXObject\"]) {\n dom = new window[\"ActiveXObject\"](\"Microsoft.XMLDOM\");\n dom.async = false;\n if (!dom.loadXML(xml))\n throw dom.parseError.reason + \" \" + dom.parseError.srcText;\n }\n else\n throw new Error(\"cannot parse xml string!\");\n function parseNode(xmlNode, result) {\n if (xmlNode.nodeName == \"#text\") {\n var v = xmlNode.nodeValue;\n if (v.trim())\n result[\"#text\"] = v;\n return;\n }\n var jsonNode = {}, existing = result[xmlNode.nodeName];\n if (existing) {\n if (!Array.isArray(existing))\n result[xmlNode.nodeName] = [existing, jsonNode];\n else\n result[xmlNode.nodeName].push(jsonNode);\n }\n else {\n if (arrayTags && arrayTags.indexOf(xmlNode.nodeName) != -1)\n result[xmlNode.nodeName] = [jsonNode];\n else\n result[xmlNode.nodeName] = jsonNode;\n }\n if (xmlNode.attributes)\n for (var _i = 0, _a = xmlNode.attributes; _i < _a.length; _i++) {\n var attribute = _a[_i];\n jsonNode[attribute.nodeName] = attribute.nodeValue;\n }\n for (var _b = 0, _c = xmlNode.childNodes; _b < _c.length; _b++) {\n var node = _c[_b];\n parseNode(node, jsonNode);\n }\n }\n var result = {};\n for (var _i = 0, _a = dom.childNodes; _i < _a.length; _i++) {\n var node = _a[_i];\n parseNode(node, result);\n }\n return result;\n};\nexport { fromXml };\n","/**\n * Convert an hexadecimmal string to RGB.\n *\n * Converts a string that expresses a color in hexadecimal format into an object with\n * the properties that define the color and the corresponding value.\n *\n * @method hex2rgb\n * @global\n *\n * @example\n * ```javascript\n * //{r:255, g:0, b:0}\n * bbn.fn.hex2rgb(\"#FF0000\");\n * ```\n *\n * @memberof bbn.fn\n * @returns {*}\n */\nvar hex2rgb = function (hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\nexport { hex2rgb };\n","/**\n * Draws the given html image nto a canvas.\n * @method imageToCanvas\n * @example\n * ``` javascript\n * //<canvas width=\"60\" height=\"32\"></canvas>\n * bbn.fn.imageToCanvas('<img src=\"path/myImage.png\">');\n * ```\n * @global\n * @memberof bbn.fn\n * @param {HTMLElement} img\n * @returns {HTMLCanvasElement}\n */\nvar imageToCanvas = function (img) {\n var canvas = document.createElement('canvas');\n canvas.width = img.width;\n canvas.height = img.height;\n canvas.getContext('2d').drawImage(img, 0, 0);\n return canvas;\n};\nexport { imageToCanvas };\n","import { imageToCanvas } from './imageToCanvas.js';\nvar imgToBase64 = function (img, type) {\n if (type === void 0) { type = 'image/png'; }\n var canvas = imageToCanvas(img);\n return canvas.toDataURL(type);\n};\nexport { imgToBase64 };\n","/**\n * Convert an RGB string to hexadecimal.\n *\n * Passing a string with the format that defines the rgb value as an argument,\n * it will return the corresponding string in hexadecimal format.\n *\n * @method rgb2hex\n * @global\n *\n * @example\n * ```javascript\n * //\"#ff0000\"\n * bbn.fn.rgb2hex(\"rgb(255, 0, 0)\");\n * ```\n * @memberof bbn.fn\n * @param {String} rgb\n * @returns {String}\n */\nvar rgb2hex = function (rgb) {\n rgb = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n return rgb && rgb.length === 4\n ? \"#\" +\n (\"0\" + parseInt(rgb[1], 10).toString(16)).slice(-2) +\n (\"0\" + parseInt(rgb[2], 10).toString(16)).slice(-2) +\n (\"0\" + parseInt(rgb[3], 10).toString(16)).slice(-2)\n : \"\";\n};\nexport { rgb2hex };\n","var string2ArrayBuffer = function (str) {\n var buf = new ArrayBuffer(str.length * 2); // 2 bytes for each char\n var bufView = new Uint16Array(buf);\n for (var i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n};\nexport { string2ArrayBuffer };\n","import { each } from '../loop/each.js';\nimport { isArray } from '../type/isArray.js';\nimport { replaceAll } from '../string/replaceAll.js';\n/**\n * Returns a CSV string from the given array of arrays or objects.\n *\n * @method toCSV\n * @global\n * @example\n * ```javascript\n * bbn.fn.toCSV([['a', 'b', 'c'], ['d', 'e', 'f']]);\n * // \"a\",\"b\",\"c\";\n * // \"d\",\"e\",\"f\"\n * ```\n * @example\n * ```javascript\n * bbn.fn.toCSV([{name: \"Capuche\", fname: \"Marc-Antoine\"}, {name: \"Orfin\", fname: \"Louis\"}]);\n * // \"Capuche\",\"Marc-Antoine\";\n * // \"Orfin\",\"Louis\"\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to convert\n * @param {String} [valSep=,] The value separator character\n * @param {String} [rowSep=;] The row separator character\n * @param {String} [valEsc=\"] The string escaper character\n * @returns {String} A CSV string\n */\nvar toCSV = function (arr, valSep, rowSep, valEsc) {\n if (valSep === void 0) { valSep = \",\"; }\n if (rowSep === void 0) { rowSep = \"\"; }\n if (valEsc === void 0) { valEsc = '\"'; }\n if (!valSep) {\n valSep = \",\";\n }\n if (!valEsc) {\n valEsc = '\"';\n }\n var csvContent = \"\";\n var total = arr.length;\n each(arr, function (a, i) {\n var num = isArray(a) ? a.length : Object.values(a).length;\n var j = 0;\n each(a, function (b) {\n if (typeof b === \"string\") {\n csvContent += valEsc + replaceAll(valEsc, \"\\\\\" + valEsc, b) + valEsc;\n }\n else if (b === 0) {\n csvContent += \"0\";\n }\n else if (!b) {\n csvContent += valEsc + valEsc;\n }\n else {\n csvContent += b.toString ? b.toString() : valEsc + valEsc;\n }\n j++;\n if (j < num) {\n csvContent += valSep;\n }\n });\n if (i < total - 1) {\n csvContent += rowSep + \"\\n\";\n }\n });\n return csvContent;\n};\nexport { toCSV };\n","import dayjs from 'dayjs';\nimport dayjs_plugin_calendar from 'dayjs/plugin/calendar.js';\nimport { fdate } from './fdate.js';\nimport { date } from './date.js';\nimport { isDate } from '../type/isDate.js';\nimport { isString } from '../type/isString.js';\nvar bbn = {\n _: function (st) { return st; }\n};\ndayjs.extend(dayjs_plugin_calendar);\n/**\n * Returns a date relative to the current day.\n *\n * @method calendar\n * @global\n *\n * @example\n * ``` javascript\n * //\"2020-04-16 16:15:23\"\n * let date = new Date();\n * bbn.fn.dateSQL(date,false);\n * ```\n *\n * @memberof bbn.fn\n * @param {Date|String} d\n * @param {String | Boolean} wrong_result Whether or not include the time in the date\n * @returns {String}\n */\nvar calendar = function (d, wrong_result) {\n if (wrong_result === void 0) { wrong_result = false; }\n if (undefined === dayjs) {\n return fdate(d, wrong_result);\n }\n var r = date(d);\n if (!isDate(r)) {\n return wrong_result && isString(wrong_result) ? wrong_result : '';\n }\n return dayjs(r).calendar(null, {\n sameDay: '[' + bbn._('Today') + ']',\n nextDay: '[' + bbn._('Tomorrow') + ']',\n nextWeek: 'ddd D',\n lastDay: '[' + bbn._('Yesterday') + ']',\n lastWeek: 'ddd D',\n sameElse: 'L',\n });\n};\nexport { calendar };\n","import { each } from '../loop/each.js';\nvar _private = [];\n/**\n * Starts a timer and gives it a name.\n * @method startChrono\n * @global\n * ``` javascript\n * bbn.fn.startChrono('myChrono');\n * ```\n * @memberof bbn.fn\n * @returns\n */\nvar startChrono = function (name) {\n var now = new Date().getTime();\n var h1 = 3600 * 1000;\n if (_private.length) {\n each(_private, function (t, n) {\n if (now - t > h1) {\n delete _private[n];\n }\n });\n now = new Date().getTime();\n }\n _private[name] = now;\n};\n/**\n * @method stopChrono\n * @global\n * @example\n * ``` javascript\n * bbn.fn.stopChrono('myChrono');\n * // 20162\n * ```\n * @memberof bbn.fn\n * @param {String} name\n * @returns {Number}\n */\nvar stopChrono = function (name) {\n if (_private[name]) {\n var now = new Date().getTime();\n var diff = now - _private[name];\n return diff;\n }\n};\nexport { startChrono, stopChrono };\n","import { isNumber } from '../type/isNumber.js';\nimport { substr } from '../string/substr.js';\nimport { isDate } from '../type/isDate.js';\n/**\n * Returns a date object from the given argument.\n *\n * @method date\n * @global\n *\n * @example\n * ``` javascript\n * //Mon Feb 11 2019 12:00:00 GMT+0100 (Central European Standard Time)\n * bbn.fn.date('2019/02/11')\n * ```\n *\n * @memberof bbn.fn\n * @param {String|Number} v\n * @returns {date}\n */\nvar date = function (v) {\n var d = false, t = typeof v;\n if (v === undefined) {\n return new Date();\n }\n if (t === 'number' || (isNumber(v) && v !== '')) {\n if (v < 10000000000) {\n v = v * 1000;\n }\n return new Date(v);\n }\n if (t === 'string') {\n if (v.length === 10) {\n return new Date(parseInt(substr(v, 0, 4)), parseInt(substr(v, 5, 2)) - 1, parseInt(substr(v, 8, 2)), 12);\n }\n else if (v.length === 19) {\n return new Date(parseInt(substr(v, 0, 4)), parseInt(substr(v, 5, 2)) - 1, parseInt(substr(v, 8, 2)), parseInt(substr(v, 11, 2)), parseInt(substr(v, 14, 2)), parseInt(substr(v, 17, 2)));\n }\n }\n else if (isDate(v)) {\n return v;\n }\n return d;\n};\nexport { date };\n","import { date } from './date.js';\nimport dayjs from 'dayjs';\n/**\n * Returns a date with SQL format.\n *\n * @method dateSQL\n * @global\n *\n * @example\n * ``` javascript\n * //\"2020-04-16 16:15:23\"\n * let date = new Date();\n * bbn.fn.dateSQL(date,false);\n * ```\n *\n * @memberof bbn.fn\n * @param {Date|String} v\n * @param {Boolean} dayOnly Whether or not include the time in the date\n * @returns {String}\n */\nvar dateSQL = function (v, dayOnly) {\n var value = date(v);\n if (value) {\n return dayjs(value).format('YYYY-MM-DD' + (dayOnly ? '' : ' HH:mm:ss'));\n }\n};\nexport { dateSQL };\n","import { date } from './date.js';\n/**\n * Returns the number of days of the month given in the date.\n * @method daysInMonth\n * @global\n *\n * @example\n * ``` javascript\n * //30\n * bbn.fn.daysInMonth(new Date());\n * ```\n *\n * @memberof bbn.fn\n * @param {String|Date} v\n * @returns {Number}\n */\nvar daysInMonth = function (v) {\n var d = date(v);\n if (d) {\n return dayjs(d).daysInMonth();\n }\n return false;\n};\nexport { daysInMonth };\n","import { fdatetime } from './fdatetime.js';\nimport { date } from './date.js';\nimport { isDate } from '../type/isDate.js';\nimport { isString } from '../type/isString.js';\n/**\n * @method fdate\n * @todo Add method description for fdate\n * @global\n * @memberof bbn.fn\n * @param {String|Date} d\n * @param {String} wrong_result\n * @returns\n */\nvar fdate = function (d, wrong_result) {\n if (wrong_result === void 0) { wrong_result = false; }\n // Retro compatibility\n if (wrong_result === true) {\n return fdatetime(d);\n }\n var r = date(d);\n if (!isDate(r)) {\n return wrong_result && isString(wrong_result) ? wrong_result : '';\n }\n if (undefined !== dayjs) {\n return dayjs(r).format('L');\n }\n return r.toLocaleDateString();\n};\nexport { fdate };\n","import { date } from './date.js';\nimport { isDate } from '../type/isDate.js';\nimport { isString } from '../type/isString.js';\n/**\n * @method fdatetime\n * @todo Add method description for fdatetime\n * @global\n * @memberof bbn.fn\n * @returns {*}\n */\nvar fdatetime = function (d, wrong_result) {\n if (wrong_result === void 0) { wrong_result = false; }\n var r = date(d);\n if (!isDate(r)) {\n return wrong_result && isString(wrong_result) ? wrong_result : '';\n }\n if (undefined !== dayjs) {\n //return dayjs(r).format('lll');\n return dayjs(r).calendar(null, {\n sameDay: '[' + bbn._('Today') + '] HH:mm',\n nextDay: '[' + bbn._('Tomorrow') + '] HH:mm',\n nextWeek: 'ddd D HH:mm',\n lastDay: '[' + bbn._('Yesterday') + '] HH:mm',\n lastWeek: 'ddd D HH:mm',\n sameElse: 'DD/MM/YYYY HH:mm',\n });\n //return dayjs(r).format(\"DD/MM/YYYY HH:mm\")\n }\n return r.toLocaleDateString();\n};\nexport { fdatetime };\n","var formatDate = function (date, format) {\n return dayjs(date).format(format);\n};\nexport { formatDate };\n","import { date } from './date.js';\nimport { isDate } from '../type/isDate.js';\nimport { isString } from '../type/isString.js';\n/**\n * @method ftime\n * @todo Add method description for ftime\n * @global\n * @memberof bbn.fn\n * @returns {*}\n */\nvar ftime = function (d, wrong_result) {\n var r = date(d);\n if (!isDate(r)) {\n return wrong_result && isString(wrong_result) ? wrong_result : '';\n }\n if (undefined !== dayjs) {\n return dayjs(r).calendar();\n }\n return r.toLocaleDateString();\n};\nexport { ftime };\n","import { date } from './date.js';\n/**\n * @method getDay\n * @ignore\n * @todo Add method description for getDay\n * @global\n * @memberof bbn.fn\n * @param {String|Date} v\n * @returns\n */\nvar getDay = function (v) {\n var biss = 1972;\n var d = date(v);\n if (d) {\n var t = d.getTime(), y = d.getYear(), m = d.getMonth(), days = (y - 1970) * 365;\n if (m < 2) {\n y--;\n }\n for (var i = biss; i <= y; i += 4) {\n days++;\n }\n return days + Math.floor(t / (24 * 3600000));\n }\n return false;\n};\nexport { getDay };\n","/**\n * Returns the timestamp of the given seconds if an argument is given, else returns the timestamp of new Date().\n * @method timestamp\n * @global\n * @example\n * ```javascript\n * //1587031047918\n * bbn.fn.timestamp();\n * ```\n * @memberof bbn.fn\n * @param {Number} seconds\n * @returns {Boolean}\n */\nvar timestamp = function (seconds) {\n if (seconds === void 0) { seconds = false; }\n var r = new Date().getTime();\n return seconds ? Math.round(r / 1000) : r;\n};\nexport { timestamp };\n","import { log } from '../browser/log.js';\nvar defaultAjaxAbortFunction = function (message, url) {\n if (url === void 0) { url = \"\"; }\n log(message);\n};\nexport { defaultAjaxAbortFunction };\n","import { log } from '../browser/log.js';\nvar defaultAjaxErrorFunction = function (jqXHR, textStatus, errorThrown) {\n if (textStatus === void 0) { textStatus = null; }\n if (errorThrown === void 0) { errorThrown = null; }\n log(textStatus, errorThrown);\n};\nexport { defaultAjaxErrorFunction };\n","var defaultAlertFunction = function (msg, title) {\n if (title === void 0) { title = null; }\n /** @todo */\n alert(msg);\n};\nexport { defaultAlertFunction };\n","import { isFunction } from '../type/isFunction.js';\nvar defaultConfirmFunction = function (text, yesFn, noFn) {\n if (noFn === void 0) { noFn = null; }\n var ok = 0;\n if (confirm(text)) {\n if (isFunction(yesFn)) {\n yesFn();\n ok = 1;\n }\n }\n if (!ok && isFunction(noFn)) {\n noFn();\n }\n};\nexport { defaultConfirmFunction };\n","var defaultEndLoadingFunction = function (url, timestamp, data, res) {\n if (data === void 0) { data = null; }\n if (res === void 0) { res = null; }\n return true;\n};\nexport { defaultEndLoadingFunction };\n","import { log } from '../browser/log.js';\nvar defaultErrorFunction = function (message) {\n log(message);\n};\nexport { defaultErrorFunction };\n","var defaultHistoryFunction = function (obj) {\n return true;\n};\nexport { defaultHistoryFunction };\n","var defaultLinkFunction = function (responseObj, ele) {\n return true;\n};\nexport { defaultLinkFunction };\n","var defaultPostLinkFunction = function (r, ele) {\n if (ele === void 0) { ele = null; }\n return true;\n};\nexport { defaultPostLinkFunction };\n","import { log } from '../browser/log.js';\nvar defaultPreLinkFunction = function (url, force, ele) {\n if (force === void 0) { force = false; }\n if (ele === void 0) { ele = null; }\n log(\"defaultPreLinkFunction\", url, force, ele);\n return true;\n};\nexport { defaultPreLinkFunction };\n","var defaultResizeFunction = function () {\n return true;\n};\nexport { defaultResizeFunction };\n","var defaultStartLoadingFunction = function (url, tst, data, requestId) {\n if (data === void 0) { data = null; }\n if (requestId === void 0) { requestId = null; }\n return true;\n};\nexport { defaultStartLoadingFunction };\n","import { iterate } from '../loop/iterate.js';\n/**\n * Adds the given data to the given form by inserting hidden inputs.\n *\n * @method addInputs\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * let o = {name: \"Smith\", fname: \"John\"};\n * bbn.fn.addInputs(document.getElementById('myform'), o, 'bbn');\n * // Will write at the end of the given form:\n * // <input type=\"hidden\" name=\"bbn[name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"bbn[fname]\" value=\"John\">\n *\n * ```\n *\n * @example\n * ```javascript\n * let o = {\n * People: [\n * {name: \"Smith\", fname: \"John\"},\n * {name: \"Smith\", fname: \"Eileen\"}\n * ],\n * Dates: ['2021-08-25', '2021-09-06']\n * };\n * bbn.fn.addInputs(document.getElementById('myform'), o);\n * // Will write at the end of the given form:\n * // <input type=\"hidden\" name=\"People[0][name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"People[0][fname]\" value=\"John\">\n * // <input type=\"hidden\" name=\"People[1][name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"People[1][fname]\" value=\"Eileen\">\n * // <input type=\"hidden\" name=\"Dates[0]\" value=\"2021-08-25\">\n * // <input type=\"hidden\" name=\"Dates[1]\" value=\"2021-09-06\">\n * ```\n *\n * @param {HTMLElement} form The form to which the inputs should be added\n * @param {Object} params The data which will be added\n * @param {String} prefix The optional object's name of the fields in the form\n * @returns {undefined}\n */\nvar addInputs = function (form, params, prefix) {\n if (params === void 0) { params = null; }\n if (prefix === void 0) { prefix = ''; }\n if (form && form.tagName === 'FORM') {\n var appendToForm_1 = function (name, val) {\n var input = document.createElement('input');\n input.setAttribute('type', 'hidden');\n input.setAttribute('name', name);\n input.setAttribute('value', val);\n form.appendChild(input);\n };\n params = JSON.parse(JSON.stringify(params || {}));\n prefix = prefix || '';\n if (params) {\n iterate(params, function (param, key) {\n var name = prefix ? \"\".concat(prefix, \"[\").concat(key, \"]\") : key;\n if (param instanceof Date) {\n appendToForm_1(name, param.toISOString());\n }\n else if (param instanceof Array) {\n param.forEach(function (e, i) {\n var tempName = \"\".concat(name, \"[\").concat(i, \"]\");\n if (typeof e === 'object') {\n addInputs(form, e, tempName);\n }\n else {\n appendToForm_1(tempName, e.toString());\n }\n });\n }\n else if (typeof param === 'object' && !(param instanceof File)) {\n addInputs(form, param, name);\n }\n else {\n appendToForm_1(name, param.toString());\n }\n });\n }\n }\n};\nexport { addInputs };\n","/**\n * Returns the value of a form's input, differenciating between checkboxes, radio and other inputs.\n *\n * @method fieldValue\n * @global\n * @memberof bbn.fn\n * @param {HTMLElement} field The input element\n *\n * @returns {Mixed} The value\n */\nvar fieldValue = function (field) {\n var v;\n if (field.type === 'checkbox') {\n if (field.checked) {\n v = field.value;\n if (!v) {\n v = 1;\n }\n }\n else {\n v = 0;\n }\n }\n else if (field.type === 'radio') {\n if (field.checked) {\n v = field.value;\n }\n }\n else {\n v = field.value;\n }\n return v;\n};\nexport { fieldValue };\n","import { each } from '../loop/each.js';\nimport { fieldValue } from './fieldValue.js';\nimport { replaceAll } from '../string/replaceAll.js';\nimport { substr } from '../string/substr.js';\n/**\n * Returns all the data contained in a form as a single object.\n *\n * @method formdata\n * @global\n * @memberof bbn.fn\n * @fires {*}\n *\n * @example\n * ```javascript\n * // <form id=\"myform\">\n * // <input type=\"hidden\" name=\"bbn[name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"bbn[fname]\" value=\"John\">\n * // </form>\n * bbn.fn.formdata(document.getElementById('myform'));\n * // {name: \"Smith\", fname: \"John\"};\n *\n * ```\n *\n * @example\n * ```javascript\n * // <form id=\"myform\">\n * // <input type=\"hidden\" name=\"People[0][name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"People[0][fname]\" value=\"John\">\n * // <input type=\"hidden\" name=\"People[1][name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"People[1][fname]\" value=\"Eileen\">\n * // <input type=\"hidden\" name=\"Dates[0]\" value=\"2021-08-25\">\n * // <input type=\"hidden\" name=\"Dates[1]\" value=\"2021-09-06\">\n * // </form>\n * bbn.fn.formdata(document.getElementById('myform'));\n * // {\n * // People: [\n * // {name: \"Smith\", fname: \"John\"},\n * // {name: \"Smith\", fname: \"Eileen\"}\n * // ],\n * // Dates: ['2021-08-25', '2021-09-06']\n * // }\n * ```\n *\n * @param {HTMLElementL} form\n *\n * @returns {Object}\n */\nvar formdata = function (form) {\n var $inputs = form.querySelectorAll('input[name],select[name],textarea[name],button[name]');\n var res = {};\n var n;\n var v;\n each($inputs, function (input, i) {\n v = fieldValue(input);\n if (v !== undefined && !input.disabled) {\n var name_1 = input.name;\n if (name_1.indexOf('[]') === -1 &&\n name_1.indexOf('[') > -1 &&\n name_1.indexOf(']') > -1 &&\n name_1.lastIndexOf(']') === name_1.length - 1) {\n name_1 = replaceAll('][', '.', name_1);\n name_1 = replaceAll('[', '.', name_1);\n name_1 = replaceAll(']', '', name_1);\n }\n if (name_1.length > 2 && name_1.indexOf('[]') === name_1.length - 2) {\n n = substr(name_1, 0, name_1.length - 2);\n if (res[n] === undefined) {\n res[n] = [];\n }\n res[n].push(v);\n }\n else if (name_1.indexOf('.') > -1) {\n var tmp = void 0, parts = name_1.split('.');\n tmp = res;\n for (var i_1 = 0; i_1 < parts.length; i_1++) {\n if (res[parts[i_1]] === undefined) {\n if (i_1 < parts.length - 1) {\n tmp[parts[i_1]] = {};\n }\n else {\n tmp[parts[i_1]] = v;\n }\n }\n tmp = tmp[parts[i_1]];\n }\n }\n else {\n res[name_1] = v;\n }\n }\n });\n // return num_changes ? res : false;\n return res;\n};\nexport { formdata };\n","import { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { isObject } from '../type/isObject.js';\nimport { iterate } from '../loop/iterate.js';\nimport { isNull } from '../type/isNull.js';\n/**\n * @method objectToFormData\n * @todo Add method description for objectToFormData\n * @global\n * @memberof bbn.fn\n * @param {Object|Array|File} obj\n * @param {String} key\n * @param {Array} ignoreList\n * @returns\n */\nvar objectToFormData = function (obj, key, ignoreList) {\n if (key === void 0) { key = ''; }\n if (ignoreList === void 0) { ignoreList = null; }\n var formData = new FormData();\n var appendFormData = function (data, key) {\n if (key === void 0) { key = ''; }\n if (!ignoreList || (isArray(ignoreList) && !ignoreList.includes(key))) {\n if (data instanceof File) {\n formData.append(key, data);\n }\n else if (isArray(data)) {\n each(data, function (v, i) {\n appendFormData(v, key + '[' + i + ']');\n });\n }\n else if (isObject(data) && Object.keys(data).length) {\n iterate(data, function (v, i) {\n if (i in data) {\n appendFormData(v, !key ? i : key + '[' + i + ']');\n }\n });\n }\n else {\n if (!isNull(data) && data !== undefined) {\n formData.append(key, data);\n }\n }\n }\n };\n appendFormData(obj, key);\n return formData;\n};\nexport { objectToFormData };\n","import { formdata } from './formdata.js';\nimport { post } from '../ajax/post.js';\n/**\n * Submit a form's data through an Ajax request.\n *\n * It will also prevent the event if given, and execute the given callback,\n * or look for one in the data-script attribute.\n *\n * @method submit\n * @global\n * @memberof bbn.fn\n * @fires {*}\n * @fires {*}\n *\n * @param {HTMLElement} form The form to submit\n * @param {Event} e The optional submit event - which will be prevented\n * @param {Function} fn An optional callback function\n *\n * @returns {*}\n */\nvar submit = function (form, e, fn) {\n var url = form.getAttribute('action') || bbn.env.path;\n var data;\n if (url === '') {\n url = '.';\n }\n //if ( (typeof(url) === 'string') && (url.indexOf(\"http\") !== 0 || url.indexOf(window.document.location.hostname) !== -1) && !form.is(\"[target]\") ){\n if (typeof url === 'string' &&\n (url.indexOf('http') !== 0 || url.indexOf(window.document.location.hostname) !== -1) &&\n !form.getAttribute('target')) {\n if (e) {\n e.preventDefault();\n }\n data = formdata(form);\n if (data) {\n //$form.attr(\"action\", null);\n form.setAttribute('action', null);\n //$form.data(\"bbnSubmit\", 1);\n if (!fn) {\n fn = form.getAttribute('data-script') ? eval(form.getAttribute('data-script')) : null;\n }\n if (fn) {\n post(url, data, fn);\n }\n else {\n post(url, data);\n }\n }\n }\n};\nexport { submit };\n","import { isIterable } from '../type/isIterable.js';\nimport { adjustSize } from './adjustSize.js';\nvar adjustHeight = function () {\n var args = arguments;\n if (args.length === 1 && isIterable(args[0])) {\n args = args[0];\n }\n return adjustSize('height', args);\n};\nexport { adjustHeight };\n","import { each } from '../loop/each.js';\nvar adjustSize = function (type, eles) {\n var max = 0, idx;\n each(eles, function (el) {\n el.style[type] = 'auto';\n });\n each(eles, function (el, i) {\n var rect = el.getBoundingClientRect(), s = rect[type] % 1 ? rect[type] - (rect[type] % 1) + 1 : rect[type];\n //s = rect[type];\n if (s > max) {\n max = s;\n idx = i;\n }\n });\n each(eles, function (el, i) {\n if (max) {\n el.style[type] = max + 'px';\n }\n });\n};\nexport { adjustSize };\n","import { isIterable } from '../type/isIterable.js';\nimport { adjustSize } from './adjustSize.js';\nvar adjustWidth = function () {\n var args = arguments;\n if (args.length === 1 && isIterable(args[0])) {\n args = args[0];\n }\n return adjustSize('width', args);\n};\nexport { adjustWidth };\n","import { unique } from '../object/unique.js';\n/**\n * Gets all the tag names present in the DOM\n * @returns array\n */\nvar getAllTags = function () {\n return unique(Array.prototype.map.apply(document.all, [function (a) { return a.tagName.toLowerCase(); }]));\n};\nexport { getAllTags };\n","var getAncestors = function (ele, selector) {\n if (selector === void 0) { selector = null; }\n var r = [];\n if (typeof ele === 'string') {\n ele = document.querySelector(ele);\n }\n if (ele instanceof HTMLElement) {\n if (ele.parentElement) {\n if (typeof selector === 'string') {\n while ((ele = ele.parentElement.closest(selector))) {\n r.push(ele);\n }\n }\n else {\n if (selector === true) {\n r.push(ele);\n }\n while ((ele = ele.parentElement)) {\n r.push(ele);\n }\n }\n }\n }\n return r;\n};\nexport { getAncestors };\n","import { error } from '../browser/error.js';\n/**\n * Check if the property contain sizing\n * @return {Boolean}\n */\nvar getAttributes = function (ele) {\n if (!ele.getAttributeNames) {\n error('The element is not a proper HTML Element');\n }\n var res = Object.create(null);\n ele.getAttributeNames().forEach(function (name) {\n res[name] = ele.getAttribute(name);\n });\n return res;\n};\nexport { getAttributes };\n","import { log } from '../browser/log.js';\nvar getHTMLOfSelection = function () {\n var range;\n var selection = window.getSelection();\n if (selection.rangeCount > 0) {\n range = selection.getRangeAt(0);\n log('RANGE', range);\n var clonedSelection = range.cloneContents();\n log('clonedSelection', clonedSelection);\n var div = document.createElement('div');\n div.appendChild(clonedSelection);\n return div.innerHTML;\n }\n else {\n return '';\n }\n};\nexport { getHTMLOfSelection };\n","import { removeHtmlComments } from '../string/removeHtmlComments.js';\nvar getHtml = function (ele, stripComments) {\n if (stripComments === void 0) { stripComments = false; }\n var st = ele.innerHTML();\n if (stripComments) {\n st = removeHtmlComments(st);\n }\n return st.trim();\n};\nexport { getHtml };\n","import { replaceAll } from '../string/replaceAll.js';\n/**\n * @method getPath\n * @todo Add method description for getPath\n * @global\n * @ignore\n * @memberof bbn.fn\n * @returns {*}\n */\nvar getPath = function (element) {\n var path, \n //node = $(element),\n node = element, done = 0;\n var _loop_1 = function () {\n //let realNode = node[0],\n var realNode = node, name_1 = realNode.localName;\n if (!name_1)\n return \"break\";\n if (realNode === document.body)\n return \"break\";\n if (realNode.id) {\n return { value: '#' + realNode.id };\n }\n if (!done) {\n if (realNode.className && realNode.className !== ' ') {\n name_1 += '.' + replaceAll(' ', '.', replaceAll(' ', ' ', realNode.className));\n }\n done = 1;\n }\n //var parent = node.parent(),\n var parent_1 = node.parentNode, \n //sameTagSiblings = parent.children(name);\n sameTagSiblings = parent_1.children.filter(function (val) {\n return val.tagName === name_1;\n });\n if (sameTagSiblings.length > 1) {\n //var allSiblings = parent.children(),\n var allSiblings = parent_1.children, \n //index = allSiblings.index(realNode) + 1;\n index = allSiblings.indexOf(realNode) + 1;\n if (index > 1) {\n name_1 += ':nth-child(' + index + ')';\n }\n }\n path = name_1 + (path ? '>' + path : '');\n node = parent_1;\n };\n while (node.length) {\n var state_1 = _loop_1();\n if (typeof state_1 === \"object\")\n return state_1.value;\n if (state_1 === \"break\")\n break;\n }\n return path;\n};\nexport { getPath };\n","var getText = function (ele) {\n return ele.innerText().trim();\n};\nexport { getText };\n","/**\n * Convert text in html format to plain text.\n *\n * @method html2text\n * @global\n *\n * @example\n * ```javascript\n * //\"Hello world!\"\n * bbn.fn.html2text(\"<div><p>Hello <b>world!</b></p></div>\");\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {String}\n */\nvar html2text = function (st) {\n var $test = document.createElement(\"div\");\n $test.innerHTML = st;\n st = $test.innerText;\n return st;\n};\nexport { html2text };\n","var isInViewport = function (ele, fully) {\n if (fully === void 0) { fully = false; }\n var bounding = ele.getBoundingClientRect();\n if (fully) {\n return (bounding.top >= 0\n && bounding.left >= 0\n && bounding.right <= (window.innerWidth || document.documentElement.clientWidth)\n && bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight));\n }\n var eleHeight = ele.offsetHeight;\n var eleWidth = ele.offsetWidth;\n return (bounding.top >= -eleHeight\n && bounding.left >= -eleWidth\n && bounding.right <= (window.innerWidth || document.documentElement.clientWidth) + eleWidth\n && bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) + eleHeight);\n};\nexport { isInViewport };\n","import { getAncestors } from './getAncestors.js';\nimport { isString } from '../type/isString.js';\nimport { each } from '../loop/each.js';\nvar isInside = function (ele, ancestor) {\n var ancestors = getAncestors(ele);\n if (ancestors.length) {\n if (isString(ancestor)) {\n var ok_1 = false;\n each(ancestors, function (a) {\n if (a.matches && a.matches(ancestor)) {\n ok_1 = true;\n return false;\n }\n });\n return ok_1;\n }\n if (ancestor instanceof HTMLElement) {\n return ancestors.indexOf(ancestor) > -1;\n }\n }\n return false;\n};\nexport { isInside };\n","import { log } from '../browser/log.js';\nimport { createObject } from '../object/createObject.js';\nimport { isSymbol } from '../type/isSymbol.js';\nimport { isNumber } from '../type/isNumber.js';\nimport { isArray } from '../type/isArray.js';\nimport { warning } from '../browser/warning.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { isSame } from '../type/isSame.js';\nvar makeReactive = function (obj, onSet, parent, parentProp) {\n var parentString = (parent === null || parent === void 0 ? void 0 : parent.$cid) || '';\n var prefix = '__bbn_' + (parentString ? parentString + '_' : '');\n if (obj && typeof obj === 'object' && [undefined, Object, Array].includes(obj.constructor)) {\n if (obj.__bbnIsProxy && obj.__bbnParent === parent) {\n return obj;\n }\n if (parent && parent.$options && parent.$options.name === 'bbn-loadbar') {\n log(['MAKING bbn-loadbar', obj]);\n }\n if (!obj.__bbnWatchers) {\n Reflect.defineProperty(obj, '__bbnWatchers', {\n value: createObject(),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n }\n var handler = {\n get: function (target, key) {\n var realValue = Reflect.get(target, key);\n var realTarget = target.__bbnRoot || target;\n if (isSymbol(key)) {\n return Reflect.get(realTarget, key);\n }\n var propName = parentProp ? parentProp + '.' + key : key;\n var hiddenKey = prefix + (isNumber(key) ? key.toString() : key);\n if (['fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'].includes(key) &&\n isArray(target)) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var res = realTarget[key].apply(realTarget, args);\n warning('DOING ARRAY STUFF');\n log(target.__bbnParent);\n onSet(target, 'length', parent);\n return res;\n };\n }\n if (isFunction(realValue)) {\n return realValue;\n }\n if (key === '__bbnRoot') {\n var root = obj;\n while (root && (root === null || root === void 0 ? void 0 : root.__bbnTarget)) {\n root = root.__bbnTarget;\n }\n return root;\n }\n if (key === '__bbnIsProxy') {\n return true;\n }\n if (key === '__bbnTarget') {\n return target;\n }\n if (key === '__bbnParent') {\n return parent;\n }\n if (key === '__bbnWatchers') {\n return target.__bbnWatchers;\n }\n if (key.indexOf('__bbn_') === 0) {\n return Reflect.get(target, key);\n }\n if (key === 'length' && isArray(target.__bbnRoot || target)) {\n return realTarget.length;\n }\n if (!(key in target)) {\n return realValue;\n }\n if (realValue &&\n typeof realValue === 'object' &&\n [undefined, Object, Array].includes(realValue.constructor)) {\n if (realValue.__bbnIsProxy && realValue.__bbnParent === parent) {\n return realTarget[hiddenKey];\n }\n if (!(hiddenKey in realTarget)) {\n Reflect.defineProperty(realTarget, hiddenKey, {\n value: makeReactive(realValue, onSet, parent, propName),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n }\n if (realTarget[hiddenKey].__bbnIsProxy && !realTarget.__bbnWatchers[parentString]) {\n realTarget.__bbnWatchers[parentString] = propName;\n }\n return realTarget[hiddenKey];\n }\n return realValue;\n },\n set: function (target, key, value) {\n if (isSymbol(key)) {\n return Reflect.get(target, key, value);\n }\n var realTarget = target.__bbnRoot || target;\n var propName = parentProp ? parentProp + '.' + key : key;\n if (isSymbol(key)) {\n return Reflect.get(target, key);\n }\n if (parent && parent.$options && parent.$options.name === 'bbn-loadbar') {\n log(['Setting proxy prop in ' + parent.$options.name, target, key, value]);\n }\n if (!isSame(realTarget[key], value)) {\n if (key.indexOf('__bbn_') === 0) {\n Reflect.defineProperty(realTarget, key, {\n value: makeReactive(value, onSet, parent, propName),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n }\n else {\n if (value &&\n typeof value === 'object' &&\n [undefined, Object, Array].includes(value.constructor)) {\n var hiddenKey = prefix + (isNumber(key) ? key.toString() : key);\n Reflect.defineProperty(realTarget, hiddenKey, {\n value: makeReactive(value, onSet, parent, propName),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n if (realTarget[hiddenKey].__bbnIsProxy && !realTarget.__bbnWatchers[parentString]) {\n realTarget.__bbnWatchers[parentString] = propName;\n }\n }\n }\n if (parent && parent.$options && parent.$options.name === 'bbn-loadbar') {\n log([\n 'Setting proxy prop in ' +\n parent.$options.name +\n ' ' +\n (isNumber(key) ? key.toString() : key),\n value,\n target,\n ]);\n }\n Reflect.set(realTarget, key, value);\n onSet(target, key, parent);\n }\n return true;\n },\n defineProperty: function (target, key, description) {\n var realTarget = target;\n var propName = parentProp ? parentProp + '.' + key : key;\n if (key === '__bbnWatchers' || isSymbol(key) || key.indexOf('__bbn_') === 0) {\n Reflect.defineProperty(realTarget, key, description);\n }\n else {\n var hiddenKey = prefix + (isNumber(key) ? key.toString() : key);\n Reflect.defineProperty(realTarget, hiddenKey, {\n value: makeReactive(description.value, onSet, parent, propName),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n }\n onSet(target, key, parent);\n return true;\n },\n deleteProperty: function (target, key) {\n var realTarget = target;\n if (key.indexOf('__bbn_') === 0) {\n Reflect.deleteProperty(realTarget, key);\n }\n else {\n var hiddenKey = prefix + (isNumber(key) ? key.toString() : key);\n Reflect.deleteProperty(realTarget, hiddenKey);\n Reflect.deleteProperty(target, key);\n }\n return true;\n },\n };\n return new Proxy(obj, handler);\n }\n return obj;\n};\nexport { makeReactive };\n","/**\n * @ignore\n * @method selector\n * @todo Add method description for selector\n * @global\n * @memberof bbn.fn\n * @returns {HTMLElement | undefined}\n */\nvar selector = function (ele) {\n return typeof ele === \"string\" ? document.querySelector(ele) : ele;\n};\nexport { selector };\n","import { substr } from './string/substr.js';\nimport { each } from './loop/each.js';\nimport { extend } from './object/extend.js';\nimport { addColors } from './style/addColors.js';\nimport { link } from './ajax/link.js';\nimport { submit } from './form/submit.js';\nimport { resize } from './style/resize.js';\nimport { isMobile } from './browser/isMobile.js';\nimport { isTabletDevice } from './browser/isTabletDevice.js';\nimport { isFunction } from './type/isFunction.js';\nimport { log } from './browser/log.js';\n/**\n * Initializes the library bbn basing on the given configuration object.\n * - Gives to the environment the dimension of the window.innerWidth and window.innerHeight\n * - Defines the server's path (difference between the host and the current dir)\n * - Adds the colors contained in bbn.var.colors to define the css classes for background and colors.\n * - Adds the event listener to the document\n * - Activates the history\n * @method init\n * @global\n * @memberof bbn.fn\n * @param {Object} cfg\n * @returns\n */\nvar init = function (cfg, force) {\n var parts;\n if (!bbn.env.isInit || force) {\n bbn.env.root =\n document.baseURI.length > 0 ? document.baseURI : bbn.env.host;\n if (bbn.env.root.length && substr(bbn.env.root, -1) !== \"/\") {\n bbn.env.root += \"/\";\n }\n if (!bbn.env.isInit && typeof dayjs !== \"undefined\") {\n each([\n \"advancedFormat\",\n \"arraySupport\",\n \"badMutable\",\n \"buddhistEra\",\n \"calendar\",\n \"customParseFormat\",\n \"dayOfYear\",\n \"devHelper\",\n \"duration\",\n \"isBetween\",\n \"isLeapYear\",\n \"isSameOrAfter\",\n \"isSameOrBefore\",\n \"isToday\",\n \"isTomorrow\",\n \"isYesterday\",\n \"isoWeek\",\n \"isoWeeksInYear\",\n \"localeData\",\n \"localizedFormat\",\n \"minMax\",\n \"objectSupport\",\n \"pluralGetSet\",\n \"quarterOfYear\",\n \"relativeTime\",\n \"timezone\",\n \"toArray\",\n \"toObject\",\n \"updateLocale\",\n \"utc\",\n \"weekOfYear\",\n \"weekYear\",\n \"weekday\",\n ], function (plugin) {\n if (window[\"dayjs_plugin_\" + plugin]) {\n dayjs.extend(window[\"dayjs_plugin_\" + plugin]);\n }\n });\n }\n /* The server's path (difference between the host and the current dir */\n if (typeof cfg === \"object\") {\n extend(true, bbn, cfg);\n }\n bbn.env.path = substr(bbn.env.url, bbn.env.root.length);\n parts = bbn.env.path.split(\"/\");\n //$.each(parts, function(i, v){\n each(parts, function (v, i) {\n v = decodeURI(v.trim());\n if (v !== \"\") {\n bbn.env.params.push(v);\n }\n });\n if (bbn.var.colors) {\n addColors(bbn.var.colors);\n }\n if (bbn.env.lang && undefined !== dayjs) {\n dayjs.locale(bbn.env.lang);\n }\n window.onfocus = function () {\n bbn.env.isFocused = true;\n };\n window.onblur = function () {\n bbn.env.isFocused = false;\n bbn.env.timeoff = Math.round(new Date().getTime() / 1000);\n };\n document.addEventListener(\"focusin\", function (e) {\n if (e.target instanceof HTMLElement &&\n !e.target.classList.contains(\"bbn-no\")) {\n bbn.env.focused = e.target;\n }\n bbn.env.last_focus = new Date().getTime();\n });\n document.addEventListener(\"click\", function (e) {\n bbn.env.last_focus = new Date().getTime();\n if (bbn.env.nav !== \"ajax\") {\n return;\n }\n var target = e.target;\n if (target instanceof HTMLElement && target.tagName !== \"A\") {\n var p = target;\n while (p && p.tagName !== \"A\") {\n if (p.tagName === \"BODY\") {\n break;\n }\n p = p.parentElement;\n }\n if (p && p.tagName === \"A\") {\n target = p;\n }\n else {\n target = null;\n }\n }\n if (target instanceof HTMLElement &&\n target.hasAttribute(\"href\") &&\n !target.hasAttribute(\"target\") &&\n !target.classList.contains(\"bbn-no\")) {\n e.preventDefault();\n e.stopPropagation();\n link(target.getAttribute(\"href\"));\n return false;\n }\n });\n each(document.querySelectorAll(\"form:not(.bbn-no), form:not(.bbn-form)\"), function (ele) {\n ele.addEventListener(\"submit\", function (e) {\n submit(ele, e);\n });\n });\n window.addEventListener(\"hashchange\", function () {\n bbn.env.hashChanged = new Date().getTime();\n }, false);\n window.addEventListener(\"resize\", function () {\n resize();\n });\n window.addEventListener(\"orientationchange\", function () {\n resize();\n });\n resize();\n if (isMobile()) {\n document.body.classList.add(\"bbn-mobile\");\n if (isTabletDevice()) {\n document.body.classList.add(\"bbn-tablet\");\n }\n }\n if (window.history) {\n window.onpopstate = function (e) {\n var h = window.history;\n if (!bbn.env.historyDisabled && h) {\n //e.preventDefault();\n if (bbn.fn.defaultHistoryFunction(h.state)) {\n var state = h.state;\n if (state) {\n //link(substr(state.url, bbn.env.root.length), $.extend({title: state.title}, state.data));\n link(state.url, extend({ title: state.title || bbn.env.siteTitle }, state.data || {}));\n }\n else if (state && state.data && isFunction(state.data.script)) {\n state.data.script();\n }\n }\n }\n };\n }\n bbn.env.isInit = true;\n document.dispatchEvent(new Event(\"bbninit\"));\n if (bbn.env.logging) {\n log(\"Logging in bbn is enabled\");\n }\n }\n};\nexport { init };\n","import { isNumber } from '../type/isNumber.js';\nimport { isIterable } from '../type/isIterable.js';\nimport { iterate } from './iterate.js';\n/**\n * Executes the provided function on each element of the given array.\n *\n * Returning false will stop the loop.\n *\n * @method each\n * @global\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.each([4, 5, 5, 10, 1, 2], d => {\n * res += d;\n * });\n * // res = 27\n * ```\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.each([4, 5, 5, 10, 1, 2], d => {\n * if (res >= 20) {\n * return false;\n * }\n * res += d;\n * });\n * // res = 24\n * ```\n * @memberof bbn.fn\n * @param {*} arr The array to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @returns {[Array, Object, void]}\n */\nvar each = function (arr, fn) {\n if (isNumber(arr) && arr > 0) {\n for (var i = 0; i < arr; i++) {\n if (fn(i, i) === false) {\n return;\n }\n }\n return;\n }\n if (isIterable(arr)) {\n for (var i = 0; i < arr.length; i++) {\n if (fn(arr[i], i) === false) {\n return;\n }\n }\n return arr;\n }\n return iterate(arr, fn);\n};\nexport { each };\n","import { isArray } from '../type/isArray.js';\nimport { isNumber } from '../type/isNumber.js';\n/**\n * Executes the provided function on each element of the given array.\n *\n * A minimum and a maximum value can be provided, within the boundaries of the\n * array's indexes. Returning false will stop the loop.\n *\n * @method fori\n * @global\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.fori([4, 5, 5, 10, 1, 2], d => {\n * res += d;\n * }, 3);\n * // res = 24\n * ```\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.fori([4, 5, 5, 10, 1, 2], d => {\n * if (res >= 20) {\n * return false;\n * }\n * res += d;\n * }, 4, 1);\n * // res = 20\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @param {Number} max The index to which the loop will stop\n * @param {Number} min The index at which the loop will start\n * @returns {undefined}\n */\nvar fori = function (arr, fn, max, min) {\n if (max === void 0) { max = arr.length - 1; }\n if (min === void 0) { min = 0; }\n if (isArray(arr)) {\n var realMax = arr.length - 1;\n if (!isNumber(max) || !(0 < max && max <= realMax)) {\n max = realMax;\n }\n if (!isNumber(min) || !(0 <= min && min < realMax) || min > max) {\n min = 0;\n }\n for (var i = min; i <= max; i++) {\n if (fn(arr[i], i) === false) {\n return;\n }\n }\n }\n};\nexport { fori };\n","import { isArray } from '../type/isArray.js';\nimport { isNumber } from '../type/isNumber.js';\n/**\n * Executes the provided function on each element of the given array, going backward.\n *\n * A maximum and a minimum value can be provided, within the boundaries of the\n * array's indexes. Returning false will stop the loop.\n *\n * @method forir\n * @global\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.forir([4, 5, 5, 10, 1, 2], d => {\n * res += d;\n * }, 4, 2);\n * // res = 16\n * ```\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.forir([4, 5, 5, 10, 1, 2], d => {\n * if (res >= 20) {\n * return false;\n * }\n * res += d;\n * });\n * // res = 23\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @param {Number} max The index to which the loop will stop\n * @param {Number} min The index at which the loop will start\n * @returns {undefined}\n */\nvar forir = function (arr, fn, max, min) {\n if (max === void 0) { max = arr.length - 1; }\n if (min === void 0) { min = 0; }\n if (isArray(arr)) {\n var realMax = arr.length - 1;\n if (!isNumber(max) || !(0 < max && max <= realMax)) {\n max = realMax;\n }\n if (!isNumber(min) || !(0 <= min && min < realMax) || min > max) {\n min = 0;\n }\n for (var i = max; i >= min; i--) {\n if (fn(arr[i], i) === false) {\n return;\n }\n }\n }\n};\nexport { forir };\n","import { removePrivateProp } from '../object/removePrivateProp.js';\n/**\n * Executes the provided function on each property of the given object.\n *\n * @method iterate\n * @global\n * @example\n * ```javascript\n * //[\"value1\", 2]\n * let arr = [];\n * bbn.fn.iterate({field1: \"value1\", field2: 2}, (val, idx) => {\n * arr.push(value);\n * });\n * ```\n * @memberof bbn.fn\n * @param {(Object|Number)} obj The object to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @param {Boolean} noPrivate If set to true the _private_ properties won't be included\n * @param {Boolean} reverse If set to true the order of the keys will be reversed\n * @returns {Object}\n */\nvar iterate = function (obj, fn, noPrivate, reverse) {\n if (noPrivate === void 0) { noPrivate = false; }\n if (reverse === void 0) { reverse = false; }\n if (obj !== null && typeof obj === \"object\") {\n var iter = Object.keys(noPrivate ? removePrivateProp(obj) : obj);\n if (reverse) {\n iter.reverse();\n }\n for (var _i = 0, iter_1 = iter; _i < iter_1.length; _i++) {\n var prop = iter_1[_i];\n if (fn(obj[prop], prop) === false) {\n break;\n }\n }\n }\n return obj;\n};\nexport { iterate };\n","import { iterate } from './iterate.js';\n/**\n * Executes the provided function on each property of the given object.\n *\n * @method riterate\n * @global\n * @example\n * ```javascript\n * //[\"value1\", 2]\n * let arr = [];\n * bbn.fn.iterate({field1: \"value1\", field2: 2}, (val, idx) => {\n * arr.push(value);\n * });\n * ```\n * @memberof bbn.fn\n * @param {(Object|Number)} obj The object to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @param {Boolean} noPrivate If set to true the _private_ properties won't be included\n * @returns {Object}\n */\nvar riterate = function (obj, fn, noPrivate) {\n if (noPrivate === void 0) { noPrivate = false; }\n return iterate(obj, fn, noPrivate, true);\n};\nexport { riterate };\n","import { md5 } from \"../string/md5.js\";\n/**\n * Analyzes the given function and extracts details about its structure.\n *\n * @function analyzeFunction\n * @param {Function} fn - The function to analyze.\n * @returns {Object} An object containing details about the function.\n * @throws {Error} When unexpected syntax is encountered while parsing.\n */\nvar analyzeFunction = function (fn) {\n var all = typeof fn === \"function\" ? fn.toString() : fn;\n if (typeof all !== \"string\") {\n throw Error(\"Unexpected type \" + typeof fn + \" while parsing function\");\n }\n var exp = \"\";\n var isArrow = false;\n var isAsync = false;\n var hasFunction = false;\n var name = \"\";\n var parOpened = 0;\n var parClosed = 0;\n var args = [];\n var currentArg = {};\n var body;\n var currentQuote = \"\";\n var escapable = ['\"', \"'\", \"`\"];\n var isEscaped = false;\n var settingDefault = false;\n var isComment = false;\n var isCommentLine = false;\n var isDestructuring = false;\n var returnType = \"\";\n for (var i = 0; i < all.length; i++) {\n // Handle string literals\n if (!isComment && all[i] === \"/\" && all[i + 1] === \"*\") {\n isComment = true;\n exp = \"\";\n }\n else if (all[i] === \"/\" && all[i - 1] === \"*\") {\n isComment = false;\n }\n else if (!isCommentLine && all[i] === \"/\" && all[i + 1] === \"/\") {\n isCommentLine = true;\n exp = \"\";\n }\n else if (all[i] === \"\\n\") {\n isCommentLine = false;\n }\n else if (isComment || isCommentLine) {\n continue;\n }\n else if (all[i] === currentQuote && !isEscaped && currentQuote) {\n currentQuote = \"\";\n exp += all[i];\n }\n else if (currentQuote) {\n isEscaped = all[i] === \"\\\\\" && !isEscaped;\n exp += all[i];\n }\n else if (escapable.includes(all[i]) && !isEscaped) {\n currentQuote = all[i];\n exp += all[i];\n }\n else if (all[i] === \"(\") {\n parOpened++;\n if (exp.trim() !== \"\") {\n if (exp.trim() === \"function\") {\n hasFunction = true;\n }\n else if (exp.trim() !== \"async\") {\n name = exp.trim();\n var tmp = name.match(/^([a-zA-Z0-9_]+)<[a-zA-Z0-9_]+>$/);\n if (tmp) {\n name = tmp[1];\n }\n }\n exp = \"\";\n }\n }\n else if (all[i] === \")\") {\n if (parOpened === parClosed + 1) {\n if (settingDefault) {\n currentArg[\"default\"] = exp.trim();\n settingDefault = false;\n }\n else if (exp) {\n currentArg[\"name\"] = exp.trim();\n }\n if (currentArg[\"name\"] || currentArg[\"default\"]) {\n args.push(currentArg);\n currentArg = {};\n }\n exp = \"\";\n }\n parClosed++;\n }\n else if (isDestructuring && all[i] !== \"}\") {\n exp += all[i];\n }\n else if (parOpened && parOpened === parClosed && all[i] === \":\") {\n var matches = all.substring(i + 1).trim().match(/^\\s*([a-zA-Z0-9_]+)\\s*\\{/);\n if (!matches) {\n throw Error(\"Unexpected ':' while parsing function\");\n }\n returnType = matches[1];\n body = all.substring(i + matches[0].length).trim();\n break;\n }\n else if (all[i] === \"=\" && all[i + 1] === \">\") {\n if (exp.trim() !== \"\" && parOpened === parClosed) {\n currentArg[\"name\"] = exp.trim();\n args.push(currentArg);\n currentArg = {};\n exp = \"\";\n }\n isArrow = true;\n i++;\n continue;\n }\n else if (all[i] === \"=\" && parOpened > parClosed && !settingDefault) {\n currentArg[\"name\"] = exp.trim();\n exp = \"\";\n settingDefault = true;\n }\n else if (all[i] === \",\") {\n if (isDestructuring) {\n exp += all[i];\n }\n else if (parOpened > parClosed) {\n if (settingDefault) {\n currentArg[\"default\"] = exp.trim();\n settingDefault = false;\n }\n else if (exp) {\n currentArg[\"name\"] = exp.trim();\n }\n if (currentArg[\"name\"] || currentArg[\"default\"]) {\n args.push(currentArg);\n currentArg = {};\n }\n exp = \"\";\n }\n else {\n throw Error(\"Unexpected ',' while parsing function\");\n }\n }\n else if (all[i] === \"{\" || all[i] === \"}\") {\n if (parOpened === parClosed) {\n body = all.substring(i).trim();\n break;\n }\n else {\n if (parOpened > parClosed) {\n if (all[i] === \"{\" && !isDestructuring) {\n isDestructuring = true;\n exp = all[i];\n }\n else if (all[i] === \"}\" && isDestructuring) {\n isDestructuring = false;\n exp += all[i];\n }\n }\n else {\n exp = \"\";\n }\n }\n }\n else if (isArrow) {\n body = all.substring(all.indexOf(\"=>\") + 2).trim();\n break;\n }\n else if (all[i] === \" \") {\n if (exp.trim() !== \"\") {\n if (exp.trim() === \"async\") {\n isAsync = true;\n }\n if (parOpened > parClosed) {\n exp += all[i];\n }\n else {\n exp = \"\";\n }\n }\n }\n else {\n exp += all[i];\n }\n }\n if (!body) {\n if (isArrow) {\n body = exp;\n }\n else {\n throw Error(\"Unexpected end of function while parsing function\");\n }\n }\n var argString = args\n .map(function (arg) { return arg.name + (arg.default ? \" = \" + arg.default : \"\"); })\n .join(\", \");\n var hash = md5(body + (name ? \"-\" + name : \"\") + (argString ? \"-\" + argString : \"\"));\n return {\n body: body,\n args: args,\n argString: argString,\n isArrow: isArrow,\n hasFunction: hasFunction,\n name: name,\n isAsync: isAsync,\n hash: hash,\n returnType: returnType\n };\n};\nexport { analyzeFunction };\n","/**\n * Returns the length of time the window has not been focused in seconds.\n * @method getTimeoff\n * @global\n * @example\n * ``` javascript\n * bbn.fn.getTimeoff();\n * // 0\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar getTimeoff = function () {\n if (!bbn.env.isFocused) {\n return Math.round(new Date().getTime() / 1000 - bbn.env.timeoff);\n }\n return 0;\n};\nexport { getTimeoff };\n","import { isNumber } from '../type/isNumber.js';\n/**\n * Returns the given value to money format basing on the given configuration.\n *\n * @method money\n * @global\n *\n * @example\n * ``` javascript\n * // \"5 856.0 $\"\n * bbn.fn.money(5856, false, '$', false, '.' ,false, 1);\n * ```\n *\n * @memberof bbn.fn\n * @param {String|Number} val The value.\n * @param {Boolean} kilo If the value has to be rendered in kilo.\n * @param {String} currency The currency.\n * @param {String} novalue The string to return if no valid value is given.\n * @param {String} decimal The character to use separate decimals.\n * @param {String} thousands The character to use to separate thounsands.\n * @param {Number} precision The number of decimals places.\n */\nvar money = function (val, kilo, currency, novalue, decimal, thousands, precision) {\n /*\n money(val, kilo){\n let decimal = ',',\n currency = '€',\n thousands = ' ';\n if ( (isNaN(val) || !val) ){\n return '-';\n }\n if ( isNaN(val) || !val ){\n return 0;\n }\n if ( kilo && val ){\n val = val / 1000;\n if ( currency ){\n currency = 'K' + currency;\n }\n }\n return parseFloat(val).toFixed(0).replace(/./g, function(c, i, a) {\n if ( c === '.' ){\n return decimal;\n }\n return i && ((a.length - i) % 3 === 0) ? thousands + c : c;\n }) + ( currency ? ' ' + currency : '');\n },\n\n */\n if (!decimal) {\n decimal =\n decimal === undefined && bbn.env.money && bbn.env.money.decimal !== undefined ? bbn.env.money.decimal : '.';\n }\n if (!currency) {\n currency =\n currency === undefined && bbn.env.money && bbn.env.money.currency !== undefined\n ? bbn.env.money.currency\n : '';\n }\n if (!thousands) {\n thousands =\n thousands === undefined && bbn.env.money && bbn.env.money.thousands !== undefined\n ? bbn.env.money.thousands\n : ' ';\n }\n if (!precision) {\n precision =\n precision === undefined && bbn.env.money && bbn.env.money.precision !== undefined\n ? bbn.env.money.precision\n : 0;\n }\n if (!kilo) {\n kilo = kilo === undefined && bbn.env.money && bbn.env.money.kilo !== undefined ? bbn.env.money.kilo : false;\n }\n if (!novalue) {\n novalue =\n novalue === undefined && bbn.env.money && bbn.env.money.novalue !== undefined\n ? bbn.env.money.novalue\n : false;\n }\n if (!isNumber(precision)) {\n precision = kilo ? 3 : 0;\n }\n if ((val === 0) && (typeof precision === 'number') && (precision > 0)) {\n var res = val.toFixed(precision).replace('.', decimal);\n if (currency) {\n res += ' ' + (kilo ? 'K' + currency : currency);\n }\n return res;\n }\n if ((isNaN(val) || !val) && novalue) {\n return novalue;\n }\n if (isNaN(val) || !val) {\n return 0 + (currency ? ' ' + currency : '');\n }\n if (kilo && val) {\n val = val / 1000;\n if (currency) {\n currency = 'K' + currency;\n }\n }\n var v = val.toFixed(precision);\n var decimalPosition = 0;\n var decimalIdx = 10000;\n if (v) {\n decimalIdx = v.indexOf('.');\n if (decimalIdx <= 0) {\n decimalIdx = 10000;\n }\n else {\n decimalPosition = v.length - decimalIdx;\n }\n }\n return (v.replace(/./g, function (c, i, a) {\n if (c === '.') {\n return decimal;\n }\n return i && (a.length - i - decimalPosition) % 3 === 0 && i < decimalIdx ? thousands + c : c;\n }) + (currency ? ' ' + currency : ''));\n};\nexport { money };\n","/**\n * Returns the value of the proportion giving the percentage and the total from where to be calculated.\n * @method percent\n * @global\n *\n * @example\n * ```javascript\n * //150\n * bbn.fn.percent('15',1000);\n * ```\n *\n * @example\n * ```javascript\n * //75\n * bbn.fn.percent(15,500);\n * ```\n * @memberof bbn.fn\n * @param {Number|String} percent\n * @param {Number|String} cent\n * @returns {Number}\n */\nvar percent = function (percent, cent) {\n return (cent / 100) * percent;\n};\nexport { percent };\n","/**\n * Returns a random integer.\n *\n * Generates and returns a random number in a range of numbers defined\n * by passed arguments a minimum and a maximum.\n *\n * @method randomInt\n * @global\n *\n * @example\n * ```javascript\n * //56\n * bbn.fn.randomInt(1,100);\n * ```\n *\n * @memberof bbn.fn\n * @param {Number} min\n * @param {Number} max\n * @returns {Number}\n */\nvar randomInt = function (min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n};\nexport { randomInt };\n","/**\n * @method roundDecimal\n * @todo Add method description for roundDecimal\n * @global\n * @memberof bbn.fn\n * @param {Number} value\n * @param {Number} decimals\n * @returns {}\n */\nvar roundDecimal = function (value, decimals) {\n return Math.round(Math.pow(Math.pow(value, decimals), -decimals));\n};\nexport { roundDecimal };\n","import { iterate } from '../loop/iterate.js';\nvar translate = function (o, namespace) {\n var lng = namespace ? bbn.lng[namespace.indexOf('_') === 0 ? namespace : '_' + namespace] : bbn.lng;\n iterate(o, function (v, k) {\n lng[k] = v;\n });\n};\nexport { translate };\n","import { getProperty } from './getProperty.js';\nimport { isString } from '../type/isString.js';\nimport { removeAccents } from '../string/removeAccents.js';\nimport { isDate } from '../type/isDate.js';\n/**\n * Compares the given property in the given objects and returns -1, 1, or 0 depending on their difference.\n *\n * This is only used as a sorting function by bbn.fn.order and bbn.fn.multiorder.\n *\n * @method _compareValues\n * @global\n * @example\n * ```javascript\n * // Same value\n * bbn.fn._compareValues({year: 2015, value: 2}, {year: 2016, value: 2}, 'value');\n * // 0\n * ```\n * @example\n * ```javascript\n * // First value smaller than second\n * bbn.fn._compareValues({year: 2015, value: 2}, {year: 2016, value: 2}, 'year');\n * // -1\n * ```\n * @example\n * ```javascript\n * // First value greater than second\n * bbn.fn._compareValues({year: 2017, value: 2}, {year: 2016, value: 2}, 'year');\n * // 1\n * ```\n * @example\n * ```javascript\n * // First value is undefined\n * bbn.fn._compareValues({year: 2017}, {year: 2016, value: 2}, 'value');\n * // 1\n * ```\n * @memberof bbn.fn\n * @param {Object} a First object for comparison\n * @param {Object} b Second object for comparison\n * @param {String} prop Property to compare\n * @param {String} [dir=asc] Direction of comparison (desc or asc by default)\n * @returns {Number} Always either -1, 1, or 0\n */\nvar _compareValues = function (a, b, prop, dir) {\n if (dir === void 0) { dir = \"asc\"; }\n var va = getProperty(a, prop), vb = getProperty(b, prop), ta = (typeof va).toLowerCase(), tb = (typeof vb).toLowerCase();\n if (dir !== \"asc\" && isString(dir) && dir.toLowerCase() === \"desc\") {\n dir = \"desc\";\n }\n if (ta !== tb) {\n va = ta;\n vb = tb;\n }\n else {\n switch (ta) {\n case \"string\":\n va = removeAccents(va).toLowerCase();\n vb = removeAccents(vb).toLowerCase();\n break;\n case \"boolean\":\n va = va ? 1 : 0;\n vb = vb ? 1 : 0;\n break;\n case \"object\":\n if (isDate(va)) {\n va = va.getTime();\n vb = isDate(vb) ? vb.getTime() : 0;\n }\n break;\n }\n }\n if (va < vb) {\n return dir === \"desc\" ? 1 : -1;\n }\n if (va > vb) {\n return dir === \"desc\" ? -1 : 1;\n }\n return 0;\n};\nexport { _compareValues };\n","import { each } from '../loop/each.js';\nimport { getProperty } from './getProperty.js';\n/**\n * Creates and returns a new array made of the given property's values from the given array of objects.\n *\n * The returned array will always have the same length of the given array, even if the property is not found.\n *\n * @method arrayFromProp\n * @global\n * @example\n * ```javascript\n * bbn.fn.arrayFromProp([\n * {movie: \"Brazil\", year: 1985},\n * {movie: \"Donnie Darko\", year: 2001},\n * {movie: \"Barry Lindon\", year: 1976}\n * ], \"year\");\n * // [1985, 2001, 1976]\n * ```\n * @example\n * ```javascript\n * bbn.fn.arrayFromProp([\n * {pupil: \"Agnes Varda\", grade: {year: \"B\", month: \"A\"}},\n * {pupil: \"Jacques Rivette\"},\n * {pupil: \"Luc Besson\", grade: {year: \"C\", month: \"D\"}},\n * {pupil: \"Nicole Garcia\", grade: {year: \"B\", month: \"B\"}}\n * ], \"grade.month\");\n * // [\"A\", undefined, \"D\", \"B\"]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr\n * @param {String} prop\n * @returns {Array} The new array\n */\nvar arrayFromProp = function (arr, prop) {\n var r = [];\n each(arr, function (a, i) {\n r.push(getProperty(a, prop));\n });\n return r;\n};\nexport { arrayFromProp };\n","import { extend } from './extend.js';\n/**\n * Extends the bbn object by passing the namespace and the object it will merge with.\n *\n * This function is a self-centric shortcut for adding functions or proerties\n * to the bbn object itself.\n *\n * @method autoExtend\n * @global\n * @example\n * ```javascript\n * bbn.fn.autoExtend(\"fn\", {myOwnFunction: () => \"Result of my own function\"});\n * bbn.fn.myOwnFunction();\n * // Result of my own function\n * ```\n * @example\n * ```javascript\n * bbn.fn.autoExtend(\"env\", {serverLanguage: \"php\"});\n * bbn.env.sercerLanguage\n * // php\n * ```\n * @example\n * ```javascript\n * bbn.fn.autoExtend(\"myProject\", {name: \"My Project\"});\n * bbn.myProject.name\n * // Project\n * ```\n * @memberof bbn.fn\n * @param {String} namespace The bbn property, existing or not, in which the object will be merged\n * @param {Object} obj The object to merge\n * @returns {undefined} No return value\n */\nvar autoExtend = function (namespace, obj) {\n if (!bbn[namespace]) {\n bbn[namespace] = {};\n //$.extend(true, bbn[namespace], obj);\n extend(bbn[namespace], obj);\n }\n else {\n // $.extend(true, bbn[namespace], obj);\n extend(bbn[namespace], obj);\n }\n};\nexport { autoExtend };\n","import { checkPropsDetails } from './checkPropsDetails.js';\nvar checkProps = function (obj, props, checkEmpty) {\n if (checkEmpty === void 0) { checkEmpty = false; }\n return checkPropsDetails(obj, props, checkEmpty).result;\n};\nexport { checkProps };\n","import { isArray } from '../type/isArray.js';\nimport { isObject } from '../type/isObject.js';\nimport { each } from '../loop/each.js';\nimport { substr } from '../string/substr.js';\nvar checkPropsDetails = function (obj, props, checkEmpty) {\n if (checkEmpty === void 0) { checkEmpty = false; }\n var res = {\n error: false,\n result: true,\n };\n if (typeof props === \"string\") {\n props = [props];\n }\n if (!isArray(props)) {\n res.error = bbn._(\"checkProps must receive a string or an array as props argument\");\n }\n if (!isObject(obj)) {\n res.error = bbn._(\"checkProps must receive an object as obj argument\");\n }\n if (!res.error) {\n var check_1;\n each(props, function (varName) {\n varName = varName.trim().split(\":\");\n var type = varName[1] || false;\n varName = varName[0];\n if (obj[varName] === undefined) {\n res.error = varName + \" \" + bbn._(\"is not defined\");\n }\n else if (type) {\n check_1 =\n \"is\" +\n substr(type, 0, 1).toUpperCase() +\n substr(type, 1).toLowerCase();\n if (bbn.fn[check_1] === undefined) {\n res.error = type + \" \" + bbn._(\"is not a valid type\");\n }\n else if (!bbn.fn[check_1](obj[varName])) {\n res.error = varName + \" \" + bbn._(\"is not a\") + \" \" + type;\n }\n }\n else if (checkEmpty && !obj[varName]) {\n res.error = varName + \" \" + bbn._(\"is empty\");\n }\n if (res.error) {\n return false;\n }\n });\n }\n if (res.error) {\n res.result = false;\n }\n return res;\n};\nexport { checkPropsDetails };\n","import { checkPropsDetails } from './checkPropsDetails.js';\nvar checkPropsOrDie = function (obj, props, checkEmpty) {\n if (checkEmpty === void 0) { checkEmpty = false; }\n var res = checkPropsDetails(obj, props, checkEmpty);\n if (res.error) {\n throw new Error(res.error);\n }\n return true;\n};\nexport { checkPropsOrDie };\n","import { isDom } from '../type/isDom.js';\nimport { isCp } from '../type/isCp.js';\n/**\n * Returns a function to give to JSON.stringify in order to avoid circular values.\n *\n * @returns Function\n */\nvar circularReplacer = function () {\n var visited = new WeakSet();\n return function (key, value) {\n if (typeof value === \"object\" && value !== null) {\n if (visited.has(value)) {\n return;\n }\n visited.add(value);\n if (![undefined, Object, Array, null].includes(value.constructor)) {\n if (isDom(value)) {\n if (value.bbnId) {\n value =\n \"__BBN_DOM__\" + value.tagName + \"/\" + value.bbnId + value.bbnHash;\n }\n else {\n value = \"__BBN_DOM__\" + value.tagName + \"/\" + value.className;\n }\n }\n else if (isCp(value)) {\n value = \"__BBN_CP__\" + value.$options.name + \"/\" + value.$cid;\n }\n else {\n value = value.constructor.toString();\n }\n }\n }\n return value;\n };\n};\nexport { circularReplacer };\n","import { isArray } from '../type/isArray.js';\nimport { isObject } from '../type/isObject.js';\nimport { extend } from './extend.js';\n/**\n * Creates and returns a perfect clone - but different - from the given object.\n *\n * @method clone\n * @global\n * @example\n * ```javascript\n * let obj = {name: \"Thomas\"};\n * let objCopy = bbn.fn.clone(obj);\n * obj.name = \"Julie\";\n * // obj: {name: \"Julie\"}\n * // objCopy: {name: \"Thomas\"}\n * ```\n * @memberof bbn.fn\n * @param {Object} obj The source object\n * @returns {Object} A new object\n */\nvar clone = function (obj) {\n if (isArray(obj)) {\n return obj.slice().map(function (a) {\n return typeof a === \"object\" ? clone(a) : a;\n });\n }\n if (isObject(obj)) {\n var o = Object.create(Object.getPrototypeOf(obj));\n return extend(true, o, obj);\n }\n return obj;\n};\nexport { clone };\n","import { isEmpty } from '../type/isEmpty.js';\nimport { removeAccents } from '../string/removeAccents.js';\nimport { isNull } from '../type/isNull.js';\nimport { isObject } from '../type/isObject.js';\nimport { isSame } from '../type/isSame.js';\n/**\n * Performs a comparison between two values based on the given operator and returns a boolean.\n *\n * It is internally used by all the filtering functions; the available operators are:\n * - _===_, _=_, _equal_, _eq_, _is_, which stand for __===__\n * - _!==_, _notequal_, _neq_, _isnot_, which stand for __!==__\n * - _!=_, _different_, which stand for __!=__\n * - _contains_, _contain_, _icontains_, _icontain_\n * - _starts_, _start_\n * - _startswith_, _startsi_, _starti_, _istarts_, _istart_\n * - _endswith_, _endsi_, _endi_, _iends_, _iend_\n * - _like_\n * - _gt_, _>_, which stand for __>__\n * - _lt_, _<_, which stand for __<__\n * - _gte_, _>=_, which stand for __>=__\n * - _lte_, _<=_, which stand for __<=__\n * - _isnull_, which stands for __=== null__\n * - _isnotnull_, which stands for __!== null__\n * - _isempty_, which stands for __=== ''__\n * - _isnotempty_, which stands for __!== ''__\n *\n * The defaut operator (if none is given) is __==__ .\n *\n * @method compare\n * @global\n * @example\n * ```javascript\n * bbn.fn.compare('foo', 'bar', 'eq');\n * // false\n * ```\n * @example\n * ```javascript\n * bbn.fn.compare('foo', 'bar', 'neq');\n * // true\n * ```\n * @example\n * ```javascript\n * bbn.fn.compare(3, 1, '>');\n * // true\n * ```\n * @example\n * ```javascript\n * bbn.fn.compare(\"JavaScript\", \"script\", 'contain');\n * // true\n * ```\n * @memberof bbn.fn\n * @param {String|Number} v1\n * @param {String|Number} v2\n * @param {String} operator\n * @returns {Boolean} True if the values' comparison complies with the operator, false otherwise\n */\nvar compare = function (v1, v2, operator) {\n switch (operator) {\n case '===':\n case '=':\n case 'equal':\n case 'eq':\n case 'is':\n return v1 === v2;\n case '!==':\n case 'notequal':\n case 'neq':\n case 'isnot':\n return v1 !== v2;\n case '!=':\n case 'different':\n return v1 != v2;\n case 'contains':\n case 'contain':\n case 'icontains':\n case 'icontain':\n if (isEmpty(v1) || isEmpty(v2)) {\n return false;\n }\n return removeAccents(v1).toLowerCase().indexOf(removeAccents(v2).toLowerCase()) !== -1;\n case 'doesnotcontain':\n case 'donotcontain':\n if (isNull(v1) || isNull(v2)) {\n return true;\n }\n return removeAccents(v1.toLowerCase()).indexOf(removeAccents(v2.toLowerCase())) === -1;\n case 'starts':\n case 'start':\n if (isNull(v1) || isNull(v2)) {\n return false;\n }\n if (typeof v1 !== 'string') {\n v1 = v1.toString() || '';\n }\n if (typeof v2 !== 'string') {\n v2 = v2.toString() || '';\n }\n return v1.indexOf(v2) === 0;\n case 'startswith':\n case 'startsi':\n case 'starti':\n case 'istarts':\n case 'istart':\n if (isNull(v1) || isNull(v2)) {\n return false;\n }\n return removeAccents(v1).toLowerCase().indexOf(removeAccents(v2).toLowerCase()) === 0;\n case 'endswith':\n case 'endsi':\n case 'endi':\n case 'iends':\n case 'iend':\n if (isNull(v1) || isNull(v2)) {\n return false;\n }\n return v1.lastIndexOf(v2) === v1.length - v2.length;\n case 'like':\n if (isNull(v1) || isNull(v2)) {\n return false;\n }\n return removeAccents(v1).toLowerCase() === removeAccents(v2).toLowerCase();\n case 'gt':\n case '>':\n return v1 > v2;\n case 'gte':\n case '>=':\n return v1 >= v2;\n case 'lt':\n case '<':\n return v1 < v2;\n case 'lte':\n case '<=':\n return v1 <= v2;\n case 'isnull':\n return v1 === null;\n case 'isnotnull':\n return v1 !== null;\n case 'isempty':\n return v1 === '';\n case 'isnotempty':\n return v1 !== '';\n case '==':\n if (isObject(v1, v2)) {\n return isSame(v1, v2);\n }\n default:\n return v1 == v2;\n }\n};\nexport { compare };\n","import { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { compare } from './compare.js';\nimport { getProperty } from './getProperty.js';\n/**\n * Checks whether the given data object complies or not with the given filter.\n *\n * The filter format must be full (i.e. with the properties logic and conditions) such as\n * seen in the function bbn.fn.search and can be generated by the function bbn.fn.filterToConditions.\n *\n * @method compareConditions\n * @global\n * @example\n * ```javascript\n * let item = {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589};\n * bbn.fn.compareConditions(item, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * value: \"Steven Spielberg\"\n * }\n * ]\n * });\n * // true\n * bbn.fn.compareConditions(item, bbn.fn.filterToConditions({director: \"Steven Soderberg\"}));\n * // false\n * bbn.fn.compareConditions(item, bbn.fn.filterToConditions({director: \"Steven Spielberg\"}));\n * // true\n * bbn.fn.compareConditions(item, bbn.fn.filterToConditions({year: 1980}, \">\"));\n * // true\n * bbn.fn.compareConditions(item, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \"<\",\n * value: 1980\n * }\n * ]\n * });\n * // false\n * ```\n * @memberof bbn.fn\n * @param {Object} data\n * @param {Object} filter\n * @returns {Boolean}\n */\nvar compareConditions = function (data, filter) {\n if (!filter.conditions || !filter.logic || !isArray(filter.conditions)) {\n throw new Error(\"Error in compareConditions: the filter should an abject with conditions and logic properties and conditions should be an array of objects\");\n }\n var ok = filter.logic === \"AND\" ? true : false;\n each(filter.conditions, function (a) {\n var comparator;\n if (a.conditions && isArray(a.conditions)) {\n comparator = compareConditions(data, a);\n }\n else {\n comparator = compare(getProperty(data, a.field), a.value, a.operator);\n if (comparator) {\n var bits = a.field.split(\".\");\n var prop = bits.pop();\n if (bits.length) {\n each(bits, function (b) { return (data = data[b]); });\n }\n // Case where both are undefined: value and prop which doesn't exist; they are not the same!\n if (getProperty(data, prop) === undefined && a.value !== undefined) {\n comparator = false;\n }\n }\n }\n if (comparator) {\n if (filter.logic === \"OR\") {\n ok = true;\n return false;\n }\n }\n else if (filter.logic === \"AND\") {\n ok = false;\n return false;\n }\n });\n return ok;\n};\nexport { compareConditions };\n","import { filter } from './filter.js';\n/**\n * Counts the number of objects matching the given filter in the given array.\n *\n * The arguments follow the same scheme as bbn.fn.search.\n *\n * @method count\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.count(ar, \"id\", 256);\n * // 1\n * bbn.fn.count(ar, {director: \"Steven Spielberg\"});\n * // 2\n * bbn.fn.search(ar, \"year\", 1975, \">\");\n * // 3\n * // Complex filters: all the movies from Spielberg between 1974 and 1980\n * bbn.fn.search(ar, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * operator: \"eq\",\n * value: \"Steven Spielberg\"\n * }, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \">=\",\n * value: 1974\n * }, {\n * field: \"year\",\n * operator: \"<=\",\n * value: 1980\n * }\n * ]\n * }\n * ]\n * });\n * // 1\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Number} The number of items\n */\nvar count = function (arr, prop, val, operator) {\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n return filter(arr, prop, val, operator).length || 0;\n};\nexport { count };\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { extend } from './extend.js';\nvar createObject = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var obj = Object.create(null);\n if (args.length) {\n extend.apply(void 0, __spreadArray([obj], args, false));\n }\n return obj;\n};\nexport { createObject };\n","import { search } from './search.js';\nimport { each } from '../loop/each.js';\nimport { isArray } from '../type/isArray.js';\n/**\n * Retrieves all elements of a hierarchical array corresponding to the filter.\n *\n * The arguments follow the same scheme as bbn.fn.search.\n *\n * @method findAll\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.count(ar, \"id\", 256);\n * // 1\n * bbn.fn.count(ar, {director: \"Steven Spielberg\"});\n * // 2\n * bbn.fn.search(ar, \"year\", 1975, \">\");\n * // 3\n * // Complex filters: all the movies from Spielberg between 1974 and 1980\n * bbn.fn.search(ar, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * operator: \"eq\",\n * value: \"Steven Spielberg\"\n * }, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \">=\",\n * value: 1974\n * }, {\n * field: \"year\",\n * operator: \"<=\",\n * value: 1980\n * }\n * ]\n * }\n * ]\n * });\n * // 1\n * ```\n * @memberof bbn.fn\n * @todo Do the doc!\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Number} The number of items\n */\nvar deepPath = function (arr, filter, deepProperty, res) {\n if (res === void 0) { res = []; }\n var idx;\n var start = 0;\n if ((idx = search(arr, filter, start)) > -1) {\n res.push(idx);\n return res;\n }\n each(arr, function (it, i) {\n if (isArray(it[deepProperty])) {\n var r = res.slice();\n r.push(i);\n var tmp = deepPath(it[deepProperty], filter, deepProperty, r);\n if (tmp !== false) {\n return tmp;\n }\n }\n });\n return false;\n};\nexport { deepPath };\n","import { checkType } from '../type/checkType.js';\n/**\n * Gets the given property from the given object\n * @param {Object} obj\n * @param {String} prop\n * @returns\n */\nvar deleteProp = function (obj, prop) {\n checkType(obj, \"object\", bbn._(\"The obj must be an object in setProp\"));\n checkType(prop, \"string\", bbn._(\"The prop must be a string in setProp\"));\n delete obj[prop];\n};\nexport { deleteProp };\n","import { isDate } from '../type/isDate.js';\nimport { createObject } from './createObject.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { isValue } from '../type/isValue.js';\nimport { isDom } from '../type/isDom.js';\nimport { numProperties } from './numProperties.js';\nvar diffObjProcessed = [];\n/**\n * Returns an object describing the differences for transforming the first given object into the second.\n *\n * The returned data will use the objects properties as keys. If unchanged is set to true, all the\n * properties will be returned, otherwise only the different ones. Each of these keys will have the\n * following properties:\n * - type: can be _modified_, _created_, _deleted_, and if unchanged is set to true _unchanged_\n * - data: the first object's property's value, or the second if type is _created_\n * - newData: the second object's property's value in case of type _updated_\n *\n * @method diffObj\n * @global\n * @example\n * ```javascript\n * bbn.fn.diffObj(\n * {\n * name: \"Thomas\",\n * age: 45\n * }, {\n * name: \"Eva\",\n * sex: \"Female\",\n * retired: false\n * }\n * );\n * // {\n * // name: {\n * // type: \"updated\",\n * // data: \"Thomas\",\n * // newData: \"Eva\"\n * // },\n * // age: {\n * // type: \"deleted\",\n * // data: 45\n * // },\n * // sex: {\n * // type: \"created\",\n * // data: \"Female\"\n * // },\n * // retired: {\n * // type: \"created\",\n * // data: false\n * // }\n * // }\n * ```\n * @example\n * ```javascript\n * bbn.fn.diffObj(\n * {pupil: \"Agnes Varda\", grade: {year: \"B\", month: \"A\"}},\n * {pupil: \"Luc Besson\", grade: {year: \"C\", month: \"D\"}}\n * );\n * // {\n * // \"pupil\": {\n * // \"type\": \"updated\",\n * // \"data\": \"Agnes Varda\",\n * // \"newData\": \"Luc Besson\"\n * // },\n * // \"grade\": {\n * // \"year\": {\n * // \"type\": \"updated\",\n * // \"data\": \"B\",\n * // \"newData\": \"C\"\n * // },\n * // \"month\": {\n * // \"type\": \"updated\",\n * // \"data\": \"A\",\n * // \"newData\": \"D\"\n * // }\n * // }\n * // }\n * ```\n * @memberof bbn.fn\n * @param {Object} obj1\n * @param {Object} obj2\n * @param {String} unchanged\n * @param {Boolean} notRoot\n * @returns {Object}\n */\nvar diffObj = function (obj1, obj2, unchanged, notRoot) {\n if (unchanged === void 0) { unchanged = false; }\n if (notRoot === void 0) { notRoot = false; }\n if (!notRoot) {\n diffObjProcessed = [];\n }\n var VALUE_CREATED = 'created', VALUE_UPDATED = 'updated', VALUE_DELETED = 'deleted', VALUE_UNCHANGED = 'unchanged', _compareValues = function (value1, value2) {\n if (value1 === value2) {\n return VALUE_UNCHANGED;\n }\n if (isDate(value1) && isDate(value2) && value1.getTime() === value2.getTime()) {\n return VALUE_UNCHANGED;\n }\n if ('undefined' == typeof value1) {\n return VALUE_CREATED;\n }\n if ('undefined' == typeof value2) {\n return VALUE_DELETED;\n }\n return VALUE_UPDATED;\n };\n if (notRoot === undefined) {\n notRoot = false;\n }\n var diff = createObject();\n if (!isFunction(obj1) && !isFunction(obj2)) {\n if (isValue(obj1) || isValue(obj2)) {\n var res = _compareValues(obj1, obj2);\n if (unchanged || res !== VALUE_UNCHANGED) {\n var ret = createObject();\n Object.defineProperty(ret, 'type', {\n value: res,\n enumerable: false,\n });\n Object.defineProperty(ret, 'data', {\n value: obj1 === undefined ? obj2 : obj1,\n enumerable: false,\n });\n Object.defineProperty(ret, '_bbnDiffObjProof', {\n value: true,\n enumerable: false,\n });\n if (obj1 !== undefined) {\n Object.defineProperty(ret, 'newData', {\n value: obj2,\n enumerable: false,\n });\n }\n return ret;\n }\n return false;\n }\n if (isDom(obj1) || isDom(obj2)) {\n return false;\n }\n if (diffObjProcessed.includes(obj1) || diffObjProcessed.includes(obj2)) {\n //error(bbn._(\"Can't compare objects because they contain circular references\"));\n return false;\n }\n diffObjProcessed.push(obj1, obj2);\n for (var key in obj1) {\n if (isFunction(obj1[key])) {\n continue;\n }\n var value2 = undefined;\n if ('undefined' != typeof obj2[key]) {\n value2 = obj2[key];\n }\n var res = diffObj(obj1[key], value2, unchanged, true);\n if (res) {\n diff[key] = res;\n }\n }\n for (var key in obj2) {\n if (isFunction(obj2[key]) || 'undefined' != typeof obj1[key]) {\n continue;\n }\n var res = diffObj(undefined, obj2[key], unchanged, true);\n if (res) {\n diff[key] = res;\n }\n }\n }\n return !notRoot || unchanged || numProperties(diff) ? diff : false;\n};\nexport { diffObj };\n","import { iterate } from '../loop/iterate.js';\nimport { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { isObject } from '../type/isObject.js';\n/**\n * Merges the contents of two or more objects together into the first object.\n *\n * A boolean true argument can be done to operate a deep extend. In this case,\n * the content of properties or subproperties arrays and objects will also be merged.\n *\n * @method extend\n * @global\n * @example\n * ```javascript\n * bbn.fn.extend(\n * {prop1: 10, prop2: 20},\n * {prop1: 11, prop3: 21},\n * {prop2: 22, prop4: false},\n * {prop5: false, prop3: 45}\n * );\n * // {prop1: 11, prop2: 22, prop3: 45, prop4: false, prop5: false}\n * ```\n * @example\n * ```javascript\n * bbn.fn.extend(\n * {\n * prop1: [3, 5, 6],\n * prop2: {\n * subprop1: 87,\n * subprop2: 100\n * }\n * }, {\n * prop1: 11,\n * prop3: [8, 12, {aProperty: 1, anotherProperty: true}, 26]\n * }, {\n * prop2: {\n * subprop1: 90,\n * subprop3: 25\n * },\n * prop4: false\n * }, {\n * prop5: false,\n * prop3: [8, 45, {anotherProperty: false, andAnother: true}]\n * }\n * );\n * // {\n * // prop1: 11,\n * // prop2: {subprop1: 90, subprop3: 25},\n * // prop3: [8, 45, {anotherProperty: false, andAnother: true}],\n * // prop4: false,\n * // prop5: false\n * // }\n * ```\n * @example\n * ```javascript\n * // Deep\n * bbn.fn.extend(\n * true,\n * {\n * prop1: [3, 5, 6],\n * prop2: {\n * subprop1: 87,\n * subprop2: 100\n * }\n * }, {\n * prop1: 11,\n * prop3: [8, 12, {aProperty: 1, anotherProperty: true}, 26]\n * }, {\n * prop2: {\n * subprop1: 90,\n * subprop3: 25\n * },\n * prop4: false\n * }, {\n * prop5: false,\n * prop3: [8, 45, {anotherProperty: false, andAnother: true}]\n * }\n * );\n * // {\n * // prop1: 11,\n * // prop2: {subprop1: 90, subprop3: 25},\n * // prop3: [8, 45, {aProperty: 1, anotherProperty: false, andAnother: true}, 26],\n * // prop4: false,\n * // prop5: false\n * // }\n * ```\n * @memberof bbn.fn\n * @returns {Object} The first object argument, merged with the other objects given\n */\nvar extend = function () {\n var originalArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n originalArgs[_i] = arguments[_i];\n }\n var deep = false;\n var args = [];\n for (var i = 0; i < originalArgs.length; i++) {\n if (originalArgs[i] === true) {\n deep = true;\n }\n else if (!originalArgs[i]) {\n continue;\n }\n else if (typeof originalArgs[i] !== \"object\") {\n throw new Error(bbn._(\"Error in extend: all arguments should be object, you have given \") + typeof originalArgs[i]);\n }\n else {\n args.push(originalArgs[i]);\n }\n }\n if (!args.length) {\n throw new Error(\"No argument given\");\n }\n var out = args[0];\n for (var i = 1; i < args.length; i++) {\n iterate(args[i], function (a, key) {\n if (deep) {\n if (isArray(a)) {\n out[key] = isArray(out[key]) ? out[key] : [];\n each(a, function (b, i) {\n if (b && typeof b === \"object\") {\n var tmp = out[key][i];\n if (isArray(b)) {\n if (!isArray(tmp)) {\n tmp = [];\n }\n }\n else if (!isObject(tmp)) {\n tmp = {};\n }\n out[key][i] = extend(true, tmp, b);\n }\n else {\n out[key][i] = b;\n }\n });\n }\n else if (isObject(a)) {\n out[key] = extend(true, out[key] && typeof out[key] === \"object\"\n ? out[key]\n : Object.create(Object.getPrototypeOf(a)), a);\n }\n else {\n out[key] = a;\n }\n }\n else if (out[key] !== a) {\n out[key] = a;\n }\n });\n if (args[i].__bbnNoData) {\n Object.defineProperty(out, \"__bbnNoData\", {\n value: true,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n }\n }\n return out;\n};\nexport { extend };\n","import { isObject } from '../type/isObject.js';\n/**\n * Returns a new object made of the properties from all the given objects.\n *\n * Compared to bbn.fn.extend this still treats the arguments from left to right\n * but without overwriting existing properties, and returning a new object.\n *\n * @method extendOut\n * @global\n * @example\n * ```javascript\n * //{field1: 1, field2: 2, field3: 3, items: {item: 0, item1: 1, item2: 2}, field4: 4}\n * bbn.fn.extendOut({field1: 1, field2: 2, field3: 3, items: {item: 0}}, {field4: 4, items: {item1: 1, item2: 2}});\n * ```\n * @memberof bbn.fn\n * @returns {Object}\n */\nvar extendOut = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var r = null;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!isObject(a)) {\n throw new Error(\"Each argument for extendOut must be an object, \" + typeof a + \" given\");\n }\n if (r === null) {\n r = a;\n }\n else {\n for (var n in a) {\n if (isObject(r[n], a[n])) {\n extendOut(r[n], a[n]);\n }\n else if (r[n] === undefined) {\n r[n] = a[n];\n }\n }\n }\n }\n return r;\n};\nexport { extendOut };\n","import { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { filterToConditions } from './filterToConditions.js';\nimport { compareConditions } from './compareConditions.js';\n/**\n * Returns a new array with only the data matching the given filter.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method filter\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.filter(ar, {director: \"Steven Spielberg\"});\n * // [\n * // {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * // {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * // ]\n * bbn.fn.filter(ar, \"director\", \"Steven Spielberg\");\n * // Same result as the previous example\n * bbn.fn.filter(ar, {\n * logic: \"OR\",\n * conditions: [\n * {\n * field: \"director\",\n * value: \"Richard Donner\"\n * }, {\n * field: \"director\",\n * value: \"George Lucas\"\n * }\n * ]\n * );\n * // [\n * // {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * // {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * // ]\n * ```\n *\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Array} A new filtered array\n */\nvar filter = function (arr, prop, val, operator) {\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n if (!isArray(arr)) {\n bbn.fn.log(\"NOT ARRAY\", arr);\n throw new Error('Error in filter: The first argument must be an array');\n }\n var cfg = {};\n var res = [];\n var isFn = typeof (prop) === 'function';\n if (!prop || !arr.length) {\n return arr;\n }\n if (arr.length) {\n if (typeof prop === 'object') {\n operator = val;\n cfg = prop;\n }\n else if (typeof prop === 'string') {\n cfg[prop] = val;\n }\n else if (!isFn) {\n throw new Error('Search function error: The prop argument should be a string or an object');\n }\n if (typeof (prop) === 'function') {\n each(arr, function (a, i) {\n if (prop(a, i)) {\n res.push(a);\n }\n });\n }\n else {\n cfg = filterToConditions(cfg, operator);\n if (cfg.conditions && cfg.logic) {\n each(arr, function (a) {\n if (compareConditions(a, cfg)) {\n res.push(a);\n }\n });\n }\n }\n return res;\n }\n};\nexport { filter };\n","import { isObject } from '../type/isObject.js';\nimport { isArray } from '../type/isArray.js';\nimport { iterate } from '../loop/iterate.js';\n/**\n * Converts the given object 'filter' to a valid format of condition.\n *\n * The resulting format will comply with bbn.fn.compareConditions and also with\n * bbn databases functions and complex filters applied to bbn-vue list components.\n *\n * @method filterToConditions\n * @global\n * @example\n * ```javascript\n * bbn.fn.filterToConditions({num: 3});\n * // {\n * // logic: \"AND\",\n * // conditions: [{\n * // field: \"num\",\n * // operator: \"=\",\n * // value: 3\n * // }]\n * // }\n * ```\n * @example\n * ```javascript\n * bbn.fn.filterToConditions({num: 3}, '>');\n * // {\n * // logic: \"AND\",\n * // conditions: [{\n * // field: \"num\",\n * // operator: \">\",\n * // value: 3\n * // }]\n * // }\n * ```\n * @memberof bbn.fn\n * @param {Object} filter\n * @param {String} operator\n * @returns {Object}\n */\nvar filterToConditions = function (filter, operator) {\n if (operator === void 0) { operator = \"=\"; }\n if (!isObject(filter)) {\n throw new Error(\"Error in filterToCondition: filter must be an object\");\n }\n if (!filter.conditions || !isArray(filter.conditions)) {\n var tmp_1 = [];\n iterate(filter, function (a, n) {\n if (isObject(a) && typeof a.conditions === \"object\") {\n tmp_1.push(filterToConditions(a));\n }\n else {\n tmp_1.push({\n field: n,\n operator: operator,\n value: a,\n });\n }\n });\n filter = {\n conditions: tmp_1,\n };\n }\n if (!filter.logic) {\n filter.logic = \"AND\";\n }\n return filter;\n};\nexport { filterToConditions };\n","import { search } from './search.js';\nimport { each } from '../loop/each.js';\nimport { isArray } from '../type/isArray.js';\n/**\n * Retrieves all elements of a hierarchical array corresponding to the filter.\n *\n * The arguments follow the same scheme as bbn.fn.search.\n *\n * @method findAll\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.count(ar, \"id\", 256);\n * // 1\n * bbn.fn.count(ar, {director: \"Steven Spielberg\"});\n * // 2\n * bbn.fn.search(ar, \"year\", 1975, \">\");\n * // 3\n * // Complex filters: all the movies from Spielberg between 1974 and 1980\n * bbn.fn.search(ar, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * operator: \"eq\",\n * value: \"Steven Spielberg\"\n * }, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \">=\",\n * value: 1974\n * }, {\n * field: \"year\",\n * operator: \"<=\",\n * value: 1980\n * }\n * ]\n * }\n * ]\n * });\n * // 1\n * ```\n * @memberof bbn.fn\n * @todo Do the doc!\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Number} The number of items\n */\nvar findAll = function (arr, filter, deepProperty, res) {\n if (res === void 0) { res = []; }\n var idx;\n var start = 0;\n while ((idx = search(arr, filter, start)) > -1) {\n res.push(arr[idx]);\n start = idx + 1;\n }\n each(arr, function (it) {\n if (isArray(it[deepProperty])) {\n findAll(it[deepProperty], filter, deepProperty, res);\n }\n });\n return res;\n};\nexport { findAll };\n","import { getRow } from './getRow.js';\n/**\n * Returns the value of the given field (property) from the first object matching the given filter in an array of objects.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method getField\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.getField(ar, \"name\", {id: 256});\n * // Star wars\n * bbn.fn.getField(ar, \"name\", \"id\", 689);\n * // Goonies\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {String} field The property from which the value is returned\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {*}\n */\nvar getField = function (arr, field, prop, val, operator) {\n if (prop === void 0) { prop = ''; }\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n var r;\n if (field && (r = getRow(arr, prop, val, operator))) {\n return r[field];\n }\n return undefined;\n};\nexport { getField };\n","import { checkType } from '../type/checkType.js';\nimport { filter } from './filter.js';\nimport { each } from '../loop/each.js';\n/**\n * Returns all the unique values of the given field (property) from the first object matching the given filter in an array.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method getFieldValues\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * {name: \"Barry Lindon\", director: \"Stanley Kubrick\", year: 1975, id: 802}\n * ];\n * bbn.fn.getFieldValues(ar, \"director\");\n * // [\"Steven Spielberg\", \"George Lucas\", \"Stanley Kubrick\"]\n * bbn.fn.getFieldValues(ar, \"name\", {year: 1975});\n * // [\"Jaws\", \"Barry Lindon\"]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {String} field The property from which the values are returned\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {*}\n */\nvar getFieldValues = function (arr, field, prop, val, operator) {\n checkType(field, 'string');\n if (prop) {\n arr = filter(arr, prop, val, operator);\n }\n var res = [];\n each(arr, function (a) { return (res.indexOf(a[field]) === -1 ? res.push(a[field]) : null); });\n return res;\n};\nexport { getFieldValues };\n","import { checkType } from '../type/checkType.js';\n/**\n * Gets the given property from the given object\n * @param {Object} obj\n * @param {String} prop\n * @returns\n */\nvar getProp = function (obj, prop) {\n checkType(obj, \"object\", bbn._(\"The obj must be an object in setProp\"));\n checkType(prop, \"string\", bbn._(\"The prop must be a string in setProp\"));\n return obj[prop];\n};\nexport { getProp };\n","/**\n * Returns the value of the given property from the given object.\n *\n * Looks for the given property in the given object, accepting dot (.) separator\n * for deep property access, and returns its value if found and undefined otherwise.\n *\n * @method getProperty\n * @global\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: 2}, 'b');\n * // 2\n * ```\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.o.a');\n * // 33\n * ```\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.h.a');\n * // undefined\n * ```\n * @memberof bbn.fn\n * @param {Object} obj\n * @param {String} props\n * @returns {*} The property's value or undefined\n */\nvar getProperty = function (obj) {\n var props = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n props[_i - 1] = arguments[_i];\n }\n if (typeof obj === 'object') {\n var arr = [];\n if (props.length === 1 && typeof props[0] === 'string') {\n arr.push.apply(arr, props[0].split('.'));\n }\n return arr.reduce(function (o, i) {\n if (o) {\n return o[i];\n }\n return undefined;\n }, obj);\n }\n};\nexport { getProperty };\n","import { search } from './search.js';\n/**\n * Returns the first object matching the given filter in an array of objects.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method getRow\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.getRow(ar, {director: \"Steven Spielberg\"});\n * // {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * bbn.fn.getRow(ar, \"director\", \"Steven Spielberg\");\n * // Same result as the previous example\n * bbn.fn.getRow(ar, {\n * logic: \"OR\",\n * conditions: [\n * {\n * field: \"director\",\n * value: \"Richard Donner\"\n * }, {\n * field: \"director\",\n * value: \"George Lucas\"\n * }\n * ]\n * );\n * // {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Object|Boolean} The item if found, false otherwise\n */\nvar getRow = function (arr, prop, val, operator) {\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n var idx = search(arr, prop, val, operator);\n if (idx > -1) {\n return arr[idx];\n }\n return false;\n};\nexport { getRow };\n","import { isArray } from '../type/isArray.js';\n/**\n * Returns a new array generated by the execution of a function for each item of the given array.\n *\n * The deepProp argument is the name of property which should contain a nested array on which\n * the function should also be applied recursively.\n *\n * @method map\n * @global\n * @example\n * ```javascript\n * bbn.fn.map([1, 2, 3, 4], a => {\n * return a + 1;\n * });\n * // [2, 3, 4, 5]\n * ```\n * @example\n * ```javascript\n * bbn.fn.map(\n * [{\n * name: \"tools\",\n * items: [\n * {\n * name: \"hammers\"\n * }, {\n * name: \"screwdrivers\",\n * items: [\n * {name: \"flat screwdrivers\"},\n * {name: \"slotted screwdrivers\"},\n * {name: \"Hex screwdrivers\"},\n * ]\n * }\n * ]\n * }, {\n * name: \"Kitchenware\"\n * }],\n * d => {\n * d.warranty = d.name === \"Hex screwdrivers\" ? \"10 years\" : \"1 year\";\n * return d;\n * },\n * \"items\"\n * );\n * // [\n * // {\n * // name: \"tools\",\n * // warranty: \"1 year\",\n * // items: [\n * // {\n * // name: \"hammers\",\n * // warranty: \"1 year\",\n * // }, {\n * // name: \"screwdrivers\",\n * // warranty: \"1 year\",\n * // items: [\n * // {name: \"flat screwdrivers\", warranty: \"1 year\"},\n * // {name: \"slotted screwdrivers\", warranty: \"1 year\"},\n * // {name: \"Hex screwdrivers\", warranty: \"10 year\"},\n * // ]\n * // }\n * // ]\n * // }, {\n * // name: \"Kitchenware\",\n * // warranty: \"1 year\"\n * // }\n * // ]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr\n * @param {Function} fn\n * @param {Boolean} deepProp\n * @param {Number} level\n * @returns {Array}\n */\nvar map = function (arr, fn, deepProp, level) {\n if (level === void 0) { level = 0; }\n return arr.map(function (a, i) {\n a = fn(a, i, level);\n if (deepProp && a[deepProp] && isArray(a[deepProp])) {\n a[deepProp] = map(a[deepProp], fn, deepProp, level + 1);\n }\n return a;\n });\n};\nexport { map };\n","/**\n * Moves an element to a different position within the given array.\n *\n * The same array is returned, with its elements reordered according to the executed movement.\n *\n * @method move\n * @global\n * @todo Finish doc\n * @example\n * ```javascript\n * bbbn.fn.move([\n * {movie: \"Brazil\", year: 1985},\n * {movie: \"Donnie Darko\", year: 2001},\n * {movie: \"Out of Africa\", year: 1985}\n * ], 1, 2);\n * // [\n * // {movie: \"Brazil\", year: 1985},\n * // {movie: \"Out of Africa\", year: 1985},\n * // {movie: \"Donnie Darko\", year: 2001}\n * // ]\n * ```\n * @example\n * ```javascript\n * bbn.fn.move([1, 2, 3, 4], 3, 0);\n * // [4, 1, 2, 3]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array\n * @param {Number} fromIndex The index of the element to move\n * @param {Number} toIndex The future index of the element\n * @returns {Array} The same array, with elements repositionned.\n */\nvar move = function (arr, fromIndex, toIndex) {\n if (toIndex >= arr.length) {\n var k = toIndex - arr.length;\n while (k-- + 1) {\n arr.push(undefined);\n }\n }\n arr.splice(toIndex, 0, arr.splice(fromIndex, 1)[0]);\n return arr;\n};\nexport { move };\n","import { _compareValues } from './_compareValues.js';\n/**\n * Sorts an array of objects based on a set of properties.\n *\n * The resulting array is the same object, the order is based on _compareValues function\n * applied for each given properties in orders argument.\n *\n * @method multiorder\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {movie: \"Brazil\", year: 1985},\n * {movie: \"Donnie Darko\", year: 2001},\n * {movie: \"Out of Africa\", year: 1985},\n * {movie: \"Ran\", year: 1985},\n * {movie: \"Back to the future\", year: 1985},\n * {movie: \"Barry Lindon\", year: 1976}\n * ];\n * bbn.fn.multiorder(ar, [\n * {field: \"year\", dir: \"desc\"},\n * {field: \"movie\", dir: \"asc\"}\n * ]);\n * // [\n * // {movie: \"Donnie Darko\", year: 2001},\n * // {movie: \"Back to the future\", year: 1985},\n * // {movie: \"Brazil\", year: 1985},\n * // {movie: \"Out of Africa\", year: 1985},\n * // {movie: \"Ran\", year: 1985},\n * // {movie: \"Barry Lindon\", year: 1976}\n * // ]\n * bbn.fn.multiorder(ar, {year: \"desc\", movie: \"asc\"});\n * // Same result with object shortcut\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to order\n * @param {Array|Object} orders The properties and directions (asc, desc) to order by\n * @returns {Array} The same array (arr), ordered differently\n */\nvar multiorder = function (arr, orders) {\n if (!orders) {\n return arr;\n }\n var currentOrders;\n if (!Array.isArray(orders) && typeof orders === 'object') {\n currentOrders = [];\n for (var n in orders) {\n currentOrders.push({ field: n, dir: orders[n] });\n }\n }\n else {\n currentOrders = orders;\n }\n if (!Array.isArray(currentOrders)) {\n throw new Error('The orders argument must be an array');\n }\n var r = arr.slice();\n return r.sort(function (a, b) {\n var res;\n for (var _i = 0, currentOrders_1 = currentOrders; _i < currentOrders_1.length; _i++) {\n var order = currentOrders_1[_i];\n res = _compareValues(a, b, order.field, order.dir);\n if (res !== 0) {\n return res;\n }\n }\n return 0;\n });\n};\nexport { multiorder };\n","import { isArray } from '../type/isArray.js';\nimport { hash } from '../string/hash.js';\nimport { isSame } from '../type/isSame.js';\nimport { search } from './search.js';\nvar mutateArray = function (a1, a2) {\n if (!isArray(a1, a2)) {\n throw new TypeError('mutateArray can only be called with arrays');\n }\n var mapA2 = new Map(a2.map(function (item) { return [hash(item), item]; }));\n var a1Ordered = [];\n // Build a1Ordered to have the same order and contents as a2\n a2.forEach(function (item) {\n a1Ordered.push(item);\n });\n // Remove items from a1 that are not in a2\n var i = a1.length;\n while (i--) {\n if (!mapA2.has(hash(a1[i]))) {\n a1.splice(i, 1);\n }\n }\n // Insert or move items to match the order of a2\n for (var j = 0; j < a1Ordered.length; j++) {\n if ((j >= a1.length) || !isSame(a1[j], a1Ordered[j])) {\n // Find the index of the item in a1, if it exists\n var indexInA1 = search(a1, a1Ordered[j]);\n if (indexInA1 !== -1) {\n // Move the item to the correct position if it already exists in a1\n var itemToMove = a1.splice(indexInA1, 1)[0];\n a1.splice(j, 0, itemToMove);\n }\n else {\n // Insert the new item from a2 into a1\n a1.splice(j, 0, a1Ordered[j]);\n }\n }\n }\n // If a1 has extra items at the end (not present in a2), remove them\n if (a1.length > a1Ordered.length) {\n a1.splice(a1Ordered.length, a1.length - a1Ordered.length);\n }\n return a1;\n};\nexport { mutateArray };\n","/**\n * Returns the number of properties contained in the object.\n *\n * Only takes into account the own properties - not the inherited ones - and the non _private_ ones.\n *\n * @method numProperties\n * @global\n * @example\n * ```javascript\n * bbn.fn.numProperties({author: \"Chuck Palahniuk\", \"title\": \"Fight club\"});\n * // 2\n * ```\n * @example\n * ```javascript\n * bbn.fn.numProperties({username: \"chuck\", \"password\": \"soap\", _bbn_timestamp: 1587323193751});\n * // 2\n * @example\n * ```javascript\n * let d = new Date();\n * bbn.fn.numProperties(d);\n * // 0\n * d.myProp = 1;\n * bbn.fn.numProperties(d);\n * // 1\n * ```\n * @memberof bbn.fn\n * @param {Object} obj The object to analyze\n * @returns {Number} The number of properties\n */\nvar numProperties = function (obj) {\n if (!obj || typeof obj !== 'object') {\n return 0;\n }\n return Object.keys(obj).length;\n};\nexport { numProperties };\n","import { _compareValues } from './_compareValues.js';\n/**\n * Sorts an array of objects based on the given property.\n *\n * The resulting array is the same object, the order is based on _compareValues function.\n *\n * @method order\n * @global\n * @example\n * ```javascript\n * bbn.fn.order([\n * {movie: \"Brazil\", year: 1985},\n * {movie: \"Donnie Darko\", year: 2001},\n * {movie: \"Barry Lindon\", year: 1976}\n * ], 'year', 'DESC')\n * // [\n * // {movie: \"Donnie Darko\", year: 2001},\n * // {movie: \"Brazil\", year: 1985},\n * // {movie: \"Barry Lindon\", year: 1976}\n * // ]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to order\n * @param {String} prop The property on which the order is based\n * @param {String} [dir=asc] The direction of the order (desc or asc by default)\n * @returns {Array}\n */\nvar order = function (arr, prop, dir) {\n if (dir === void 0) { dir = 'asc'; }\n if (arr) {\n return arr.sort(function (a, b) {\n return _compareValues(a, b, prop, dir);\n });\n }\n return arr;\n};\nexport { order };\n","var pickValue = function (arr) {\n if (Array.isArray(arr) && arr.length) {\n return arr[Math.floor(Math.random() * arr.length)];\n }\n};\nexport { pickValue };\n","import { isArray } from '../type/isArray.js';\nimport { isObject } from '../type/isObject.js';\nimport { numProperties } from './numProperties.js';\n/**\n * Returns a new array, having removed all elements deemed empty from the given array.\n *\n * Removes all the elements which are empty, i.e. false, 0, null, '', NaN, or undefined.\n *\n * @method removeEmpty\n * @global\n * @example\n * ```javascript\n * bbn.fn.removeEmpty([{prop1: 10, prop2: 20}, '', {}, null, 1, undefined, 0, false, 25]);\n * // [{prop1: 10, prop2: 20}, 1, 25]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr\n * @returns {Array}\n */\nvar removeEmpty = function (arr) {\n var tmp = [];\n if (isArray(arr)) {\n for (var i = 0; i < arr.length; i++) {\n var ok = false;\n if (arr[i]) {\n if (isArray(arr[i])) {\n if (arr[i].length) {\n ok = true;\n }\n }\n else if (isObject(arr[i])) {\n if (numProperties(arr[i])) {\n ok = true;\n }\n }\n else {\n ok = true;\n }\n }\n if (ok) {\n tmp.push(arr[i]);\n }\n }\n }\n return tmp;\n};\nexport { removeEmpty };\n","import { substr } from '../string/substr.js';\n/**\n * Returns an object with the original objects' properties starting with an alphanumeric character.\n *\n * It is presumed that external libraries, bbn variables use prefixes such as _ or $ for\n * naming private properties; this returns a new object purged from these properties.\n *\n * @method removePrivateProp\n * @global\n * @example\n * ```javascript\n * bbn.fn.removePrivateProp({\n * _bbn_timestamp: 1587269593987,\n * name: \"Wonka\",\n * fname: \"Willy\"\n * });\n * // {name: \"Wonka\", fname: \"Willy\"}\n * ```\n * @memberof bbn.fn\n * @param {Object} obj The original object\n * @param {Boolean} deep If true the function will be reapplied on object properties\n * @returns {Object} A new object without only the _public_ properties.\n */\nvar removePrivateProp = function (obj, deep) {\n if (deep === void 0) { deep = false; }\n var r = null;\n if (typeof obj === 'object') {\n r = {};\n for (var n in obj) {\n if (substr(n, 0, 1).match(/^[A-z0-9]$/) && (n in obj)) {\n if (deep && typeof obj[n] === 'object') {\n r[n] = removePrivateProp(obj[n], true);\n }\n else {\n r[n] = obj[n];\n }\n }\n }\n }\n return r || false;\n};\nexport { removePrivateProp };\n","import { isIterable } from '../type/isIterable.js';\nimport { compareConditions } from './compareConditions.js';\nimport { filterToConditions } from './filterToConditions.js';\nimport { isObject } from '../type/isObject.js';\nimport { numProperties } from './numProperties.js';\nimport { isNumber } from '../type/isNumber.js';\n/**\n * Retrieves the index of the array's first element corresponding to the given filter.\n *\n * Returns -1 if the element is not found. If the second parameter is an object or function\n * for filtering as defined in bbn.fn.filter, the remaining parameters will be shifted to the\n * left, i.e. val becomes operator, and operator startFrom. And if operator is a number, its value will\n * be given to startFrom and operator will be undefined. The filter object can be complex with different\n * operators (as seen in bbn.fn.compare) and logics (AND/OR), and infinitely nested, of this form:\n * ```javascript\n * {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"prop1\",\n * operator: \"eq\",\n * value: \"value1\"\n * }, {\n * logic: \"OR\",\n * conditions: [\n * {\n * field: \"prop2\",\n * operator: \"eq\",\n * value: 1\n * }. {\n * field: \"prop2\",\n * operator: \"eq\",\n * value: 2\n * }\n * ]\n * }\n * ]\n * }\n * ```\n * This way of managing the arguments is used in all the filtering functions.\n *\n * @method search\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n *\n * bbn.fn.search(ar, \"id\", 256);\n * // 2\n *\n * bbn.fn.search(ar, {director: \"Steven Spielberg\"});\n * // 0\n *\n * bbn.fn.search(ar, {year: 1975, director: \"Steven Spielberg\"});\n * // 3\n *\n * bbn.fn.search(ar, {director: \"Steven Spielberg\"}, 1);\n * // 3\n *\n * // Complex filters\n * bbn.fn.search(ar, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * operator: \"eq\",\n * value: \"Steven Spielberg\"\n * }, {\n * logic: \"OR\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \"eq\",\n * value: 1974\n * }, {\n * field: \"year\",\n * operator: \"eq\",\n * value: 1975\n * }\n * ]\n * }\n * ]\n * });\n * // 3\n *\n * Simple array\n * bbn.fn.search(['a', 'b', 'c'], null, 'b');\n * // 1\n *\n * ```\n *\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @param {Number} startFrom The index from which the search should start\n * @returns {Number} The index if found, otherwise -1\n */\nvar search = function (arr, prop, val, operator, startFrom) {\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n if (startFrom === void 0) { startFrom = 0; }\n if (!isIterable(arr)) {\n throw new Error(bbn._('The first argument for a search should be iterable') + ' ' + typeof arr + ' ' + bbn._('given'));\n }\n if (!arr.length) {\n return -1;\n }\n var filter;\n var isFn = false;\n if (typeof prop === 'string') {\n filter = {\n conditions: [\n {\n field: prop,\n value: val,\n operator: operator || '=',\n },\n ]\n };\n }\n else if (!prop) {\n isFn = true;\n filter = function (a) {\n return compareConditions({ value: a }, filterToConditions({\n logic: 'AND',\n conditions: [\n {\n field: 'value',\n operator: operator || '=',\n value: val,\n },\n ],\n }));\n };\n }\n else {\n startFrom = typeof (operator) === 'number' ? operator : 0;\n operator = val;\n if (isObject(prop)) {\n filter = prop;\n }\n else if (typeof (prop) === 'function') {\n isFn = true;\n filter = prop;\n }\n }\n if (isFn || (isObject(filter) && numProperties(filter))) {\n if (isNumber(operator)) {\n startFrom = typeof (operator) === 'number' ? operator : 0;\n operator = undefined;\n }\n if (!isNumber(startFrom)) {\n startFrom = 0;\n }\n if (typeof filter === 'function') {\n for (var i = startFrom; i < arr.length; i++) {\n if (filter(arr[i])) {\n return i;\n }\n }\n }\n else {\n filter = filterToConditions(filter);\n for (var i = startFrom; i < arr.length; i++) {\n if (compareConditions(arr[i], filter)) {\n return i;\n }\n }\n }\n }\n return -1;\n};\nexport { search };\n","/**\n * Sets a given property on the given object\n *\n * @param {Object} obj\n * @param {String} prop\n * @param {*} value\n * @param {Boolean} writable\n * @param {Boolean} configurable\n */\nvar setProp = function (obj, prop, value, writable, configurable) {\n if (writable === void 0) { writable = true; }\n if (configurable === void 0) { configurable = true; }\n Object.defineProperty(obj, prop, {\n value: value,\n writable: writable,\n configurable: configurable,\n });\n};\nexport { setProp };\n","import { each } from '../loop/each.js';\n/**\n * Returns the value of the given property from the given object.\n *\n * Looks for the given property in the given object, accepting dot (.) separator\n * for deep property access, and returns its value if found and undefined otherwise.\n *\n * @method getProperty\n * @global\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: 2}, 'b');\n * // 2\n * ```\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.o.a');\n * // 33\n * ```\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.h.a');\n * // undefined\n * ```\n * @memberof bbn.fn\n * @param {Object} obj\n * @param {String} prop\n * @returns {*} The property's value or undefined\n */\nvar setProperty = function (obj, prop, value, force) {\n if (typeof obj === 'object' && typeof prop === 'string') {\n var o_1 = obj;\n var bits_1 = prop.split('.');\n each(bits_1, function (v, i) {\n if (!o_1) {\n if (!force) {\n throw new Error(bbn._('The object is invalid'));\n }\n o_1 = {};\n }\n if (bits_1.length - 1 === i) {\n o_1[v] = value;\n }\n else {\n o_1 = o_1[v];\n }\n });\n }\n};\nexport { setProperty };\n","import { clone } from './clone.js';\nimport { each } from '../loop/each.js';\nimport { isString } from '../type/isString.js';\nimport { shorten } from '../string/shorten.js';\n/**\n * Shortens all the strings contained in the object properties or element in a array.\n *\n * Modifies directly the given object by cuttin all its too long strings, and adding ellipsis (...) in this case.\n *\n * @method shortenObj\n * @global\n * @example\n * ```javascript\n * bbn.fn.shortenObj({\n * title: \"Once upon a time in the west\",\n * synopsis: \"There's a single piece of land around Flagstone with water on it, and rail baron Morton (Gabriele Ferzetti) aims to have it, knowing the new railroad will have to stop there. He sends his henchman Frank (Henry Fonda) to scare the land's owner, McBain (Frank Wolff), but Frank kills him instead and pins it on a known bandit, Cheyenne (Jason Robards). Meanwhile, a mysterious gunslinger with a score to settle (Charles Bronson) and McBain's new wife, Jill (Claudia Cardinale), arrive in town.\"\n * }, 50)\n * // {\n * // \"title\": \"Once upon a time in the west\",\n * // \"synopsis\": \"There's a single piece of land around Flagstone wi...\"\n * // }\n * ```\n * @memberof bbn.fn\n * @param {(Object|Array)} obj\n * @param {Number} [max=100]\n * @returns {(Object|Array)} The same object, modified\n */\nvar shortenObj = function (obj, max) {\n if (max === void 0) { max = 100; }\n var o = clone(obj);\n each(o, function (a, n) {\n if (isString(a) && a.length > max) {\n o[n] = shorten(a, max);\n }\n else if (a && typeof a === \"object\") {\n o[n] = shortenObj(a);\n }\n });\n return o;\n};\nexport { shortenObj };\n","var shuffle = function (array) {\n var _a;\n var currentIndex = array.length, randomIndex;\n // While there remain elements to shuffle.\n while (currentIndex != 0) {\n // Pick a remaining element.\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n // And swap it with the current element.\n _a = [array[randomIndex], array[currentIndex]], array[currentIndex] = _a[0], array[randomIndex] = _a[1];\n }\n return array;\n};\nexport { shuffle };\n","import { each } from '../loop/each.js';\nimport { filter } from './filter.js';\n/**\n * Returns the sum of the given property or function for the array's elements matching the filter.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method sum\n * @global\n * @example\n * ```javascript\n * let invited = [\n * {name: \"Robert De Niro\", attendees: 2, confirmed: true},\n * {name: \"Al Pacino\", attendees: 1, confirmed: false},\n * {name: \"James Caan\", attendees: 4, confirmed: false},\n * {name: \"Harvey Keitel\", attendees: 5, confirmed: true}\n * ];\n * // No filter\n * bbn.fn.sum(invited, \"attendees\");\n * // 12\n * // Filter\n * bbn.fn.sum(invited, \"attendees\", {confirmed: true});\n * // 7\n * ```\n * @example\n * ```javascript\n * let cart = [\n * {article: \"Toothpaste\", price: 2.50, quantity: 1},\n * {article: \"Toothbrush\", price: 6, quantity: 2},\n * {article: \"Banana\", price: 0.50, quantity: 3},\n * {article: \"T-shirt\", price: 14, quantity: 3}\n * ];\n * bbn.fn.sum(cart, a => a.price * a.quantity);\n * // 58\n * // Only the items with a quantity equal to 3\n * bbn.fn.sum(cart, a => a.price * a.quantity, {quantity: 3});\n * // 43.5\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Function)} numberProp The property's name for which the value should be added to the sum, or a function returning the number.\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Number} The sum\n */\nvar sum = function (arr, numberProp, prop, val, operator) {\n var r = 0;\n each(filter(arr, prop, val, operator), function (a) {\n var tmp = typeof numberProp === 'function' ? numberProp(a) : a[numberProp];\n if (tmp) {\n r += parseFloat(tmp) || 0;\n }\n });\n return r;\n};\nexport { sum };\n","/**\n * Removes duplicate values from an array.\n *\n * Takes an input array and returns a new array without duplicate values.\n *\n * @method unique\n * @global\n * @example\n * ```javascript\n * bbn.fn.unique([\"a\", \"b\", \"a\", \"b\", \"a\", \"b\", \"c\", \"c\", \"d\"]);\n * // [\"a\", \"b\", \"c\", \"d\"]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr\n * @returns {Array}\n */\nvar unique = function (arr) {\n return arr.filter(function (el, index, ar) {\n return index === ar.indexOf(el);\n });\n};\nexport { unique };\n","import { isString } from '../type/isString.js';\nimport { substr } from './substr.js';\n/**\n * Returns the name of the element indicated by path given to it as an argument.\n *\n * @method baseName\n * @global\n *\n * @example\n * ```javascript\n * // \"file.png\"\n * bbn.fn.baseName('folder/other_folder/file.png');\n * ```\n * @example\n * ```javascript\n * // \"file\"\n * bbn.fn.baseName('folder/other_folder/file.png', '.png');\n * ```\n *\n * @memberof bbn.fn\n * @param {String} path The path from which the basename must be extracted\n * @param {String} suffix An optional suffix that will be removed from the basename\n * @returns {String} The basename of path\n */\nvar baseName = function (path, suffix) {\n if (path && isString(path)) {\n var bits = path.split(\"/\");\n var res = bits.pop();\n if (!suffix) {\n return res;\n }\n var len = suffix.length;\n if (res && substr(res, -len) === suffix) {\n return substr(res, 0, res.length - len);\n }\n }\n return \"\";\n};\nexport { baseName };\n","import { replaceAll } from './replaceAll.js';\n/**\n * Replaces the html <br> tag with new line characters '\\ n' if present in the string.\n *\n * @method br2nl\n * @global\n *\n * @example\n * ```javascript\n * //\"hello\n * //world!\"\n * bbn.fn.br2nl('hello <br> world!')\n * ```\n *\n * @memberof bbn.fn\n * @param string st\n * @returns {String}\n */\nvar br2nl = function (st) {\n return replaceAll(\"<br />\", \"\\n\", replaceAll(\"<br/>\", \"\\n\", replaceAll(\"<br>\", \"\\n\", st)));\n};\nexport { br2nl };\n","/**\n * Returns the string passed as an argument in camelize mode for css.\n *\n * @method camelToCss\n * @global\n *\n * @example\n * ```javascript\n * //\"this-is-a-test\"\n * bbn.fn.camelToCss(\"thisIsATest\");\n * ```\n *\n * @memberof bbn.fn\n * @param {String} str\n * @returns {String}\n */\nvar camelToCss = function (str) {\n return str\n .replace(/([A-Z])/g, function (st) {\n return \"-\" + st.toLowerCase();\n })\n .replace(\"/^./\", function (st) {\n return st.toLowerCase();\n });\n};\nexport { camelToCss };\n","/**\n * Returns the string passed as an argument in camelize mode.\n *\n * A string can be separated for example by a underscore, a dash or space;\n * so the camelize function will automatically convert them to a single string.\n *\n * @method camelize\n * @global\n *\n * @example\n * ```javascript\n * //\"thisIsATest\"\n * bbn.fn.camelize(\"this_is-a test\");\n * ```\n * @memberof bbn.fn\n * @param {String} str\n * @returns {String}\n */\nvar camelize = function (str) {\n return str.replace(/^([A-Z])|[\\s-](\\w)/g, function (match, p1, p2, offset) {\n if (p2) {\n return p2.toUpperCase();\n }\n return p1.toLowerCase();\n });\n};\nexport { camelize };\n","/**\n * Converts the first character of the string to uppercase.\n *\n * @method correctCase\n * @global\n *\n * @example\n * ```javascript\n * //\"This is a test\"\n * bbn.fn.correctCase(\"this is a test\");\n * ```\n *\n * @memberof bbn.fn\n * @param {STring} str\n * @returns {String}\n */\nvar correctCase = function (str) {\n return str.replace(/[A-z]{1}/, function (c) { return c.toUpperCase(); });\n};\nexport { correctCase };\n","/**\n * CRC32 implementation.\n */\nvar crc32Table = [];\nfor (var i = 0; i < 256; i++) {\n var c = i;\n for (var j = 0; j < 8; j++) {\n c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;\n }\n crc32Table.push(c);\n}\nvar crc32 = function (str) {\n var crc = 0 ^ -1;\n for (var i = 0; i < str.length; i++) {\n var charCode = str.charCodeAt(i);\n crc = (crc >>> 8) ^ crc32Table[(crc ^ charCode) & 0xff];\n }\n return (crc ^ -1) >>> 0; // Make sure the result is a 32-bit positive integer\n};\nexport { crc32 };\n","import { isString } from '../type/isString.js';\nimport { substr } from './substr.js';\n/**\n * Returns the path of the folder containing the last hierarchical element of the path.\n *\n * @method dirName\n * @global\n *\n * @example\n * ```javascript\n * //\"folder/other_folder\"\n * bbn.fn.dirName('folder/other_folder/file');\n * ```\n * @memberof bbn.fn\n * @param {String} path\n * @returns {String} path of the folder\n */\nvar dirName = function (path) {\n if (isString(path) && path) {\n while (substr(path, path.length - 1) === \"/\") {\n path = substr(path, 0, path.length - 1);\n }\n var pos = path.lastIndexOf(\"/\");\n if (pos > 0) {\n return substr(path, 0, pos);\n }\n if (pos === 0) {\n return \"/\";\n }\n }\n return \"\";\n};\nexport { dirName };\n","import { isString } from '../type/isString.js';\nvar escapeDquotes = function (str) {\n if (!isString(str)) {\n return str;\n }\n return str.replace(/\"/g, '\\\\\"');\n};\nexport { escapeDquotes };\n","/**\n * Returns a string escaped.\n *\n * To escape the string by reducing the ambiguity between quotation marks and other characters used.\n *\n * @method escapeRegExp\n * @global\n *\n * @example\n * ```javascript\n * //\"this\\/is\\/a\\/test\\/string\"\n * bbn.fn.escapeRegExp(\"this/is/a/test/string\");\n * ```\n * @memberof bbn.fn\n * @param {String} str\n * @returns {String} string with escape\n */\nvar escapeRegExp = function (str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n};\nexport { escapeRegExp };\n","import { isString } from '../type/isString.js';\nvar escapeSquotes = function (str) {\n if (!isString(str)) {\n return str;\n }\n return str.replace(/'/g, \"\\\\'\");\n};\nexport { escapeSquotes };\n","import { isString } from '../type/isString.js';\nvar escapeTicks = function (str) {\n if (!isString(str)) {\n return str;\n }\n return str.replace(/`/g, '\\\\`');\n};\nexport { escapeTicks };\n","import { each } from '../loop/each.js';\nimport { dirName } from './dirName.js';\nimport { baseName } from './baseName.js';\nimport { isString } from '../type/isString.js';\n/**\n * Escapes a URL or a file path, optionally adding parameters (get type, to append to the URL without the first separator).\n *\n * @param {*} url\n * @param {*} params\n * @returns\n */\nvar escapeUrl = function (url, params) {\n var st = \"\";\n if (url.match(\"^(http|https)://\")) {\n st += \"http\";\n url = url.substring(4);\n if (url.substr(0, 1) === \"s\") {\n st += \"s\";\n url = url.substring(1);\n }\n st += \"://\";\n url = url.substring(3);\n }\n each(dirName(url).split(\"/\"), function (a) {\n st += encodeURIComponent(a) + \"/\";\n });\n var base = baseName(url);\n var sep = \"?\";\n var existingParams = \"\";\n if (base.indexOf(sep)) {\n var tmp = base.split(\"?\");\n sep = \"&\";\n existingParams = \"?\" + tmp[1];\n base = tmp[0];\n }\n if (params && isString(params)) {\n if (params.match(\"^(\\\\&|\\\\?)\")) {\n params = params.substring(1);\n }\n params = sep + params;\n }\n else {\n params = \"\";\n }\n return st + encodeURIComponent(base) + existingParams + params;\n};\nexport { escapeUrl };\n","import { isString } from '../type/isString.js';\n/**\n * Gets the extension from a file's name.\n *\n * The extension is returned in lower case; if the filename has no extension\n * or is not valid it will return an empty string.\n *\n * @method fileExt\n * @global\n *\n * @example\n * ```javascript\n * // \"txt\"\n * bbn.fn.fileExt('my_file.txt')\n * ```\n *\n * @example\n * ```javascript\n * // \"txt\"\n * bbn.fn.fileExt('MY_FILE.TXT')\n * ```\n *\n * @example\n * ```javascript\n * // \"\"\n * bbn.fn.fileExt('MY_FILE')\n * ```\n *\n * @example\n * ```javascript\n * // \"\"\n * bbn.fn.fileExt('.MY_FILE')\n * ```\n *\n * @param {String} filename\n * @returns {String} The file's extension\n */\nvar fileExt = function (filename) {\n if (filename && isString(filename)) {\n var bits = filename.split(\".\");\n if (bits[0] && bits.length > 1) {\n return bits[bits.length - 1].toLowerCase();\n }\n }\n return \"\";\n};\nexport { fileExt };\n","import { checkType } from '../type/checkType.js';\nvar format = function (str) {\n var args = Array.prototype.slice.call(arguments, 1);\n if (args.length) {\n var i_1 = 0;\n return str.replace(/\\%([d|s])/g, function (match, type) {\n var tmp = args[i_1++];\n checkType(tmp, type === 'd' ? 'number' : 'string', bbn._(\"The value doesn't correspond to the format\"));\n return tmp;\n });\n }\n return str;\n};\nexport { format };\n","/**\n * Formats the value given in bytes.\n * @method formatBytes\n * @global\n * @example\n * //\"52.23 MB\"\n * ``` javascript\n * bbn.fn.formatBytes(54764654);\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar formatBytes = function (bytes, decimals) {\n if (decimals === void 0) { decimals = 2; }\n if (!bytes) {\n return '0 B';\n }\n var k = 1024, s = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(decimals < 0 ? 0 : decimals)) + ' ' + s[i];\n};\nexport { formatBytes };\n","import { isNumber } from '../type/isNumber.js';\nimport { isString } from '../type/isString.js';\nvar formatSize = function (st, noValid) {\n if (isNumber(st)) {\n return st + 'px';\n }\n if (isString(st)) {\n return st;\n }\n return noValid ? false : 'auto';\n};\nexport { formatSize };\n","import { isDom } from '../type/isDom.js';\nimport { isCp } from '../type/isCp.js';\nimport { circularReplacer } from '../object/circularReplacer.js';\nimport { simpleHash } from './simpleHash.js';\n/**\n * Makes a hash out of anything\n * @param {Object|Array} obj\n * @returns {String}\n */\nvar hash = function (obj) {\n //log(obj);\n var st = \"__bbn__\";\n for (var i in arguments) {\n if (arguments[i]) {\n var value = arguments[i];\n if (isDom(value)) {\n if (value.bbnId) {\n st +=\n \"__BBN_DOM__\" + value.tagName + \"/\" + value.bbnId + value.bbnHash;\n }\n else {\n st += \"__BBN_DOM__\" + value.tagName + \"/\" + value.className;\n }\n }\n else if (isCp(value)) {\n st += \"__BBN_CP__\" + value.$options.name + \"/\" + value.$cid;\n }\n else {\n try {\n st += JSON.stringify(arguments[i], circularReplacer());\n }\n catch (e) {\n st += \".\";\n }\n }\n }\n }\n return simpleHash(st);\n};\nexport { hash };\n","/**\n * Converts and returns the argument passed in a string in md5 format.\n *\n * This is a formatted version of popular md5 implementation\n * Original copyright (c) Paul Johnston & Greg Holt.\n *\n *\n * @method md5\n * @global\n *\n * @example\n * ```javascript\n * //\"486eb65274adb86441072afa1e2289f3\"\n * bbn.fn.md5(\"this is a test string\");\n * ```\n *\n * @memberof bbn.fn\n * @param {Mixed} st\n * @returns {String} in md5 format\n */\nvar md5 = function (st) {\n var hc = \"0123456789abcdef\";\n function rh(n) {\n var j, s = \"\";\n for (j = 0; j <= 3; j++)\n s +=\n hc.charAt((n >> (j * 8 + 4)) & 0x0f) + hc.charAt((n >> (j * 8)) & 0x0f);\n return s;\n }\n function ad(x, y) {\n var l = (x & 0xffff) + (y & 0xffff);\n var m = (x >> 16) + (y >> 16) + (l >> 16);\n return (m << 16) | (l & 0xffff);\n }\n function rl(n, c) {\n return (n << c) | (n >>> (32 - c));\n }\n function cm(q, a, b, x, s, t) {\n return ad(rl(ad(ad(a, q), ad(x, t)), s), b);\n }\n function ff(a, b, c, d, x, s, t) {\n return cm((b & c) | (~b & d), a, b, x, s, t);\n }\n function gg(a, b, c, d, x, s, t) {\n return cm((b & d) | (c & ~d), a, b, x, s, t);\n }\n function hh(a, b, c, d, x, s, t) {\n return cm(b ^ c ^ d, a, b, x, s, t);\n }\n function ii(a, b, c, d, x, s, t) {\n return cm(c ^ (b | ~d), a, b, x, s, t);\n }\n function sb(x) {\n var i;\n var nblk = ((x.length + 8) >> 6) + 1;\n var blks = new Array(nblk * 16);\n for (i = 0; i < nblk * 16; i++)\n blks[i] = 0;\n for (i = 0; i < x.length; i++)\n blks[i >> 2] |= x.charCodeAt(i) << ((i % 4) * 8);\n blks[i >> 2] |= 0x80 << ((i % 4) * 8);\n blks[nblk * 16 - 2] = x.length * 8;\n return blks;\n }\n var i, x = sb(st), a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, olda, oldb, oldc, oldd;\n for (i = 0; i < x.length; i += 16) {\n olda = a;\n oldb = b;\n oldc = c;\n oldd = d;\n a = ff(a, b, c, d, x[i + 0], 7, -680876936);\n d = ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = ff(c, d, a, b, x[i + 10], 17, -42063);\n b = ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = gg(b, c, d, a, x[i + 0], 20, -373897302);\n a = gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = hh(a, b, c, d, x[i + 5], 4, -378558);\n d = hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = hh(d, a, b, c, x[i + 0], 11, -358537222);\n c = hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = ii(a, b, c, d, x[i + 0], 6, -198630844);\n d = ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = ad(a, olda);\n b = ad(b, oldb);\n c = ad(c, oldc);\n d = ad(d, oldd);\n }\n return rh(a) + rh(b) + rh(c) + rh(d);\n};\nexport { md5 };\n","import { replaceAll } from './replaceAll.js';\n/**\n * Replaces all new line characters '\\ n' with html tag '<br>'.\n *\n * @method nl2br\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.nl2br('hello \\n world!');\n * //\"hello <br> world!\"\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {String}\n */\nvar nl2br = function (st, keepNl) {\n return replaceAll(\"\\n\", \"<br>\" + (keepNl ? \"\\n\" : \"\"), st);\n};\nexport { nl2br };\n","/**\n * @method printf\n * @todo Add method description for printf\n * @global\n * @memberof bbn.fn\n * @param String format\n * @returns {*}\n */\nvar printf = function (format) {\n var args = Array.prototype.slice.call(arguments, 1);\n return format.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] != \"undefined\" ? args[number] : match;\n });\n};\nexport { printf };\n","import { replaceAll } from './replaceAll.js';\n/**\n * Replace quotes in ASCII code\n *\n * @method quotes2html\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.quotes2html(\"hello 'world'!\", 's');\n * // hello 'world'!\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.quotes2html('hello \"world\\'s\"!', 'd');\n * // hello "world'sd"!\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.quotes2html('hello \"world\\'s\"!');\n * // hello "world'sd"!\n * ```\n *\n * @memberof bbn.fn\n * @param {String} st\n * @returns {String}\n */\nvar quotes2html = function (st, type) {\n if (!type || type.toLowerCase().indexOf(\"s\") === 0) {\n st = replaceAll(\"'\", \"'\", st);\n }\n if (!type || type.toLowerCase().indexOf(\"d\") === 0) {\n st = replaceAll('\"', \""\", st);\n }\n return st;\n};\nexport { quotes2html };\n","import { randomInt } from '../misc/randomInt.js';\n/**\n * Returns a random String with random lenght,\n *\n * Generates a random string from the length of the random number,\n * taken from a range of numbers providing either only the minimum or also the maximum as arguments.\n *\n * @method randomString\n * @global\n *\n * @example\n * ```javascript\n * //\"U7xXO0Xb\"\n * bbn.fn.randomString(3,10);\n * ```\n *\n * @example\n * ```javascript\n * //\"H8F\"\n * bbn.fn.randomString(3);\n * ```\n *\n * @memberof bbn.fn\n * @param {Number} length\n * @param {String} chars\n * @returns {String}\n */\nvar randomString = function (min, max, types) {\n var length;\n var type;\n var chars = {\n n: \"0123456789\",\n l: \"abcdefghijklmnopqrstuvwxyz\",\n u: \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\n };\n if (!types) {\n types = \"nlu\";\n }\n if (!min) {\n length = randomInt(8, 14);\n }\n if (typeof max === \"string\") {\n types = \"n\";\n delete chars.l;\n delete chars.u;\n chars.n = max;\n if (!length) {\n length = min;\n }\n }\n else if (typeof max === \"number\" && min < max) {\n length = randomInt(min, max);\n }\n else if (min) {\n length = min;\n }\n var result = \"\";\n for (var i = 0; i < length; i++) {\n // Not a number for the first char\n if (i === 0) {\n if (types !== \"n\") {\n type = types.indexOf(\"u\") === -1 ? \"l\" : \"u\";\n }\n }\n else {\n type = types[Math.floor(Math.random() * types.length)];\n }\n result += chars[type][Math.floor(Math.random() * chars[type].length)];\n }\n return result;\n};\nexport { randomString };\n","import { isString } from '../type/isString.js';\nimport { log } from '../browser/log.js';\n/**\n * Returns the string passed as an argument without accents.\n *\n * @method removeAccents\n * @global\n *\n * @example\n * ```javascript\n * //\"eeou\"\n * bbn.fn.removeAccents(\"èéòù\");\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {String}\n */\nvar removeAccents = function (st) {\n if (!isString(st)) {\n if (st.toString) {\n st = st.toString();\n }\n else {\n log(st);\n throw new Error(bbn._(\"removeAccent expects a string\"));\n }\n }\n return st.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n};\nexport { removeAccents };\n","/**\n * Removes all group of spaces by one single space.\n * @param {String} str\n * @returns\n */\nvar removeExtraSpaces = function (str) {\n return str.replace(/\\s+/g, \" \").trim();\n};\nexport { removeExtraSpaces };\n","import { isString } from '../type/isString.js';\nvar removeHtmlComments = function (str) {\n if (!isString(str)) {\n return str;\n }\n return str.replace(/<!--[\\s\\S]*?-->/g, '');\n};\nexport { removeHtmlComments };\n","import { substr } from './substr.js';\n/**\n * @method removeTrailingChars\n * @todo Add method description for removeTrailingChars\n * @global\n * @memberof bbn.fn\n * @param {String} st\n * @param {String} char\n * @returns {*}\n */\nvar removeTrailingChars = function (st, char) {\n if (!char) {\n char = \" \";\n }\n if (char.length) {\n while (substr(st, -char.length) === char) {\n st = substr(st, 0, st.length - char.length);\n }\n while (substr(st, 0, char.length) === char) {\n st = substr(st, char.length);\n }\n }\n return st;\n};\nexport { removeTrailingChars };\n","/**\n * Returns a string which is the repetition of the first argument for the number passed in the second argument.\n *\n * @method repeat\n * @global\n *\n * @example\n * ```javascript\n * //\"HelloHelloHello\"\n * bbn.fn.repeat('Hello', 3);\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar repeat = function (st, num) {\n return st.repeat(num);\n};\nexport { repeat };\n","import { isObject } from '../type/isObject.js';\nimport { escapeRegExp } from './escapeRegExp.js';\n/**\n * Looks for and replaces parts of string with what we want.\n *\n * With the first argument you define what to replace,\n * the second argument with what you have to replace instead and the third argument is the string to be replaced.\n *\n * @method replaceAll\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.replaceAll('day', 'night', 'Today is a beautiful day');\n * //\"Tonight is a beautiful night\"\n * ```\n * @memberof bbn.fn\n * @param {String} find\n * @param {String} replace\n * @param {String|RegExp} str\n * @param {String} flags\n * @returns {String}\n */\nvar replaceAll = function (find, replace, str, flags) {\n if (flags === void 0) { flags = \"\"; }\n return str\n .toString()\n .replace(isObject(find) ? find : new RegExp(escapeRegExp(find), \"g\" + flags), replace);\n};\nexport { replaceAll };\n","import { removeAccents } from './removeAccents.js';\nimport { trim } from './trim.js';\n/**\n * Removes all unacceptable characters in a DOM node.\n *\n * @method sanitize\n * @global\n *\n * @example\n * ```javascript\n * //\"this_is_a_test\"\n * bbn.fn.sanitize(\"this&is_$a^test\");\n * ```\n *\n * @memberof bbn.fn\n * @returns {String} str\n */\nvar sanitize = function (str, separator) {\n if (separator === void 0) { separator = \"_\"; }\n var escaped = [\"[\", \"]\", \"{\", \"}\", \"(\", \")\", \"-\", \"+\", \"*\", \"/\"];\n var exp = \"[\";\n for (var i = 0; i < separator.length; i++) {\n if (escaped.includes(separator[i])) {\n exp += \"\\\\\";\n }\n exp += separator[i];\n }\n exp += \"]+\";\n var re = new RegExp(exp, \"g\");\n var res = removeAccents(str)\n .replace(/[^a-z0-9]/gi, separator)\n .replace(re, separator);\n return trim(res, separator);\n};\nexport { sanitize };\n","import { isString } from '../type/isString.js';\nimport { substr } from './substr.js';\n/**\n * Shortens the given string after *len* characters.\n *\n * Provides an abbreviation to the string passed as the first argument,\n * deciding through the second argument the number of characters to keep and the remainder replaced\n * by what is passed as the third argument and if not given a defalut it is: '...'\n *\n * @method shorten\n * @global\n *\n * @example\n * ```javascript\n * //\"test***\"\n * bbn.fn.shorten('testing', 4, '***');\n * ```\n * @example\n * ```javascript\n * //\"test...\"\n * bbn.fn.shorten('testing', 4);\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @param {Number} len\n * @returns {String}\n */\nvar shorten = function (st, len, adj) {\n if (typeof st.toLowerCase() === \"string\") {\n if (!len) {\n len = bbn.var.shortenLen;\n }\n if (adj === undefined || !isString(adj)) {\n adj = \"...\";\n }\n if (st.length > len) {\n st = substr(st, 0, len) + adj;\n }\n }\n return st;\n};\nexport { shorten };\n","import { simpleHash1 } from './simpleHash1.js';\nimport { simpleHash2 } from './simpleHash2.js';\nvar simpleHash = function (str) {\n var part1 = simpleHash1(str).padStart(8, '0');\n var part2 = simpleHash2(str).padStart(8, '0');\n return part1 + part2;\n};\nexport { simpleHash };\n","var simpleHash1 = function (str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) {\n var char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash |= 0; // Convert to 32-bit integer\n }\n return Math.abs(hash).toString(16);\n};\nexport { simpleHash1 };\n","var simpleHash2 = function (str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) {\n var char = str.charCodeAt(i);\n hash = char + (hash << 6) + (hash << 16) - hash;\n hash |= 0; // Convert to 32-bit integer\n }\n return Math.abs(hash).toString(16);\n};\nexport { simpleHash2 };\n","import { isString } from '../type/isString.js';\nimport { isInt } from '../type/isInt.js';\nimport { log } from '../browser/log.js';\n/**\n * Basic substring function accepting both positive and negative values.\n *\n * @method substr\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.substr(bbn.fn, 'Hello', -3, -1);\n * // \"ll\"\n * bbn.fn.substr(bbn.fn, 'Hello', -3);\n * // \"llo\"\n * bbn.fn.substr(bbn.fn, 'Hello', 0, 1);\n * // \"H\"\n * ```\n * @memberof bbn.fn\n * @param {String} str\n * @param {Number} from\n * @param {Number} length\n * @returns {String} Result substring\n */\nvar substr = function (str, from, length) {\n if (!isString(str) || !isInt(from)) {\n log(arguments);\n throw new Error(bbn._(\"The substr function should be applied to a string and at least a `from` argument should be given\"));\n }\n if (from < 0) {\n from = str.length + from;\n }\n if (!isInt(length)) {\n return str.substring(from);\n }\n return str.substring(from, (length < 0 ? str.length : from) + length);\n};\nexport { substr };\n","import { substr } from './substr.js';\nvar trim = function (str, hair) {\n if (hair === void 0) { hair = ' '; }\n if (hair === ' ') {\n return str.trim();\n }\n if (!hair) {\n return str;\n }\n if (hair === str) {\n return '';\n }\n while (str.indexOf(hair) === 0) {\n str = substr(str, hair.length);\n }\n while (str.lastIndexOf(hair) === str.length - hair.length) {\n str = substr(str, 0, str.length - hair.length);\n }\n return str;\n};\nexport { trim };\n","import { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { md5 } from './md5.js';\n/**\n * Create a unique string in md5 format.\n *\n * Converts and return all the arguments inserted in a unique string in md5 format.\n *\n * @method uniqString\n * @global\n *\n * @example\n * ```javascript\n * //\"6cb083da4d4987af9b4fa4ad8ca23bb1\"\n * bbn.fn.uniqString('test',['test'],{id:1, test:2},4);\n * ```\n * @memberof bbn.fn\n * @returns {String} The unique string in md5 format\n */\nvar uniqString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var st = \"\";\n var _loop_1 = function () {\n if (!args[i]) {\n st += \"__bbn_empty__\";\n }\n else if (typeof args[i] === \"object\") {\n if (isArray(args[i])) {\n st += JSON.stringify(args[i]);\n }\n else {\n // An object with the same properties, even in different order, should produce the same answer\n var tmp_1 = {};\n var ks = Object.keys(args[i]).sort();\n each(ks, function (k) {\n tmp_1[k] = args[i][k];\n });\n st += JSON.stringify(tmp_1);\n }\n }\n else if (typeof args[i] !== \"string\") {\n st += args[i].toString();\n }\n else {\n st += args[i];\n }\n };\n for (var i = 0; i < args.length; i++) {\n _loop_1();\n }\n return md5(st);\n};\nexport { uniqString };\n","import { numProperties } from '../object/numProperties.js';\nimport { iterate } from '../loop/iterate.js';\n/**\n * Adds the given color to the object bbn.var.colors in order to be able to use\n * the css classes bbn-bg-myColor for the background and bbn-myColor for the text color.\n *\n * @method addColors\n * @global\n * @example\n * ```javascript\n * //<div class=\"bbn-bg-maroon\">background</div> <span class=\"bbn-maroon\">text color</span>\n * bbn.fn.addColors({maroon: '#800000'});\n * ```\n * @memberof bbn.fn\n * @param {Object} colors\n * @returns\n */\nvar addColors = function (colors) {\n if (numProperties(colors)) {\n if (!bbn.var.colors) {\n bbn.var.colors = {};\n }\n var element = document.createElement(\"style\");\n document.head.appendChild(element);\n var sheet_1 = element.sheet;\n // Append style element to head\n var i_1 = 0;\n iterate(colors, function (v, n) {\n bbn.var.colors[n] = v;\n sheet_1.insertRule(\".bbn-\" +\n n +\n \", .bbn-color-text-\" +\n n +\n \" {color: \" +\n v +\n \" !important;}\", i_1);\n sheet_1.insertRule(\"svg.bbn-\" +\n n +\n \", .bbn-\" +\n n +\n \" svg, svg.bbn-color-text-\" +\n n +\n \", .bbn-color-text-\" +\n n +\n \" svg {fill: \" +\n v +\n \";}\", i_1);\n sheet_1.insertRule(\".bbn-bg-\" +\n n +\n \", .bbn-color-bg-\" +\n n +\n \", .bbn-color-background-\" +\n n +\n \" {background-color: \" +\n v +\n \" !important;}\", i_1);\n sheet_1.insertRule(\".bbn-border-\" +\n n +\n \", .bbn-color-border-\" +\n n +\n \" {border-color: \" +\n v +\n \" !important;}\", i_1);\n sheet_1.insertRule(\".bbn-color-\" +\n n +\n \" {border-color: \" +\n v +\n \"; background-color: \" +\n v +\n \"; color: \" +\n v +\n \";}\", i_1);\n });\n }\n};\nexport { addColors };\n","import { isObject } from '../type/isObject.js';\nimport { iterate } from '../loop/iterate.js';\n/**\n * @ignore\n * @method addStyle\n * @todo Add method description for addStyle\n * @global\n * @memberof bbn.fn\n * @param {HTMLElement} ele\n * @param {Object} o\n * @returns {*}\n */\nvar addStyle = function (ele, o) {\n if (isObject(o)) {\n iterate(o, function (v, k) {\n ele.style[k] = v;\n });\n }\n};\nexport { addStyle };\n","/**\n * @ignore\n * @method animateCss\n * @todo Add method description for animateCss\n * @global\n * @memberof bbn.fn\n * @param {HTMLElement} ele\n * @param {String} animationName\n * @param {Function} callback\n * @returns {*}\n */\nvar animateCss = function (ele, animationName, callback) {\n var animationEnd = \"webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend\";\n /*$(ele).addClass('animated ' + animationName).one(animationEnd, function(){\n if ( typeof callback == 'function' ){ // make sure the callback is a function\n callback.call(this); // brings the scope to the callback\n }\n $(this).removeClass('animated ' + animationName);\n })*/\n ele.classList.add(\"animated\");\n ele.classList.add(animationName);\n ele.addEventListener(animationEnd, function animationEndHandler(e) {\n e.target.removeEventListener(e.type, animationEndHandler);\n if (typeof callback == \"function\") {\n // make sure the callback is a function\n callback.call(this); // brings the scope to the callback\n }\n e.target.classList.remove(animationName);\n });\n};\nexport { animateCss };\n","/**\n * Centers the given element by giving it a position absolute.\n *\n * @method center\n * @global\n * @example\n * ```javascript\n * //<div style=\"position: absolute; top: 73px; left: 0px;\">Documentation</div>\n * bbn.fn.center('<div>Documentation</div>')\n * ```\n * @memberof bbn.fn\n * @param {HTMLElement} ele\n * @returns {HTMLElement} The dom element with the new style.\n */\nvar center = function (ele) {\n //ele = $(ele);\n var parent = ele.parentNode, \n //w = parent.width(),\n w = parent.clientWidth, \n //h = parent.height();\n h = parent.clientHeight;\n while (parent && (!w || !h)) {\n /*parent = parent.parent(),\n w = parent.width(),\n h = parent.height();*/\n parent = ele.parentNode;\n w = parent.clientWidth;\n h = parent.clientHeight;\n }\n //ele.css(\"position\",\"absolute\");\n ele.style.position = \"absolute\";\n //ele.css(\"top\", Math.max(0, ((h - ele.outerHeight()) / 2) + parent.scrollTop()) + \"px\");\n ele.style.top =\n Math.max(0, (h - ele.offsetHeight) / 2 + parent.scrollTop) + \"px\";\n //ele.css(\"left\", Math.max(0, ((w - ele.outerWidth()) / 2) + parent.scrollLeft()) + \"px\");\n ele.style.left =\n Math.max(0, (h - ele.offsetWidth) / 2 + parent.scrollLeft) + \"px\";\n return ele;\n};\nexport { center };\n","//import { log } from './log.js' ;\nimport { escapeRegExp } from '../string/escapeRegExp.js';\n/**\n * not used\n * @ignore\n * @method cssExists\n * @todo Add method description for cssExists\n * @global\n * @memberof bbn.fn\n * @param {String} f\n * @returns\n */\nvar cssExists = function (f) {\n var ok;\n var rules;\n var css = document.styleSheets;\n for (var sx = 0; sx < css.length; sx++) {\n ok = 1;\n try {\n rules = css[sx].rules || css[sx].cssRules;\n }\n catch (e) {\n ok = false;\n if (e.name !== \"SecurityError\") {\n throw e;\n }\n }\n if (ok) {\n //log(rules);\n for (var cx = 0; cx < rules.length; cx++) {\n //log(rules[cx].selectorText);\n if (new RegExp(\"(^|\\\\s)\" + escapeRegExp(f) + \"(\\\\{|\\\\s)\", \"g\").test(rules[cx].selectorText)) {\n return true;\n }\n }\n }\n }\n return false;\n};\nexport { cssExists };\n","/**\n * Gets a CSS variable value\n * @param {String*} varname\n * @returns\n */\nvar getCssVar = function (varname) {\n if (varname.indexOf(\"--\") !== 0) {\n varname = \"--\" + varname;\n }\n return getComputedStyle(document.documentElement).getPropertyValue(varname);\n};\nexport { getCssVar };\n","var getScrollBarSize = function () {\n if (bbn.env.scrollBarSize === undefined) {\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n if ('msOverflowStyle' in outer.style) {\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n }\n document.body.appendChild(outer);\n var widthNoScroll = outer.offsetWidth;\n // force scrollbars\n outer.style.overflow = 'scroll';\n // add innerdiv\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n var widthWithScroll = inner.offsetWidth;\n // remove divs\n outer.parentNode.removeChild(outer);\n var sz = widthNoScroll - widthWithScroll;\n bbn.env.scrollBarSize = sz ? sz + 1 : 0;\n }\n return bbn.env.scrollBarSize;\n};\nexport { getScrollBarSize };\n","/**\n * Takes color in hex format and lightens or darkens it with the given value.\n * @method lightenDarkenHex\n * @global\n * @example\n * ```javascript\n * //\"#eccb28\"\n * bbn.fn.lightenDarkenHex('#c4a300', 40);\n * ```\n *\n * @example\n * ```javascript\n * //\"#9c7b00\"\n * bbn.fn.lightenDarkenHex(#c4a300', -40);\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar lightenDarkenHex = function (hex, amt) {\n if (hex && amt) {\n var ht = hex[0] === \"#\";\n hex = ht ? hex.slice(1) : hex;\n var num = parseInt(hex, 16), r = (num >> 16) + amt, b = ((num >> 8) & 0x00ff) + amt, g = (num & 0x0000ff) + amt;\n if (r > 255) {\n r = 255;\n }\n else if (r < 0) {\n r = 0;\n }\n if (b > 255) {\n b = 255;\n }\n else if (b < 0) {\n b = 0;\n }\n if (g > 255) {\n g = 255;\n }\n else if (g < 0) {\n g = 0;\n }\n return (ht ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\n }\n};\nexport { lightenDarkenHex };\n","import { selector } from '../html/selector.js';\n/**\n *\n * @ignore\n * @method outerHeight\n * @todo Add method description for outerHeight\n * @global\n * @memberof bbn.fn\n * @returns {*}\n */\nvar outerHeight = function (ele) {\n ele = selector(ele);\n if (ele && \"offsetHeight\" in ele) {\n var styles = window.getComputedStyle(ele);\n var margin = parseFloat(styles[\"marginTop\"]) + parseFloat(styles[\"marginBottom\"]);\n return Math.ceil(ele.offsetHeight + margin);\n }\n};\nexport { outerHeight };\n","import { selector } from '../html/selector.js';\n/**\n * @ignore\n * @method outerWidth\n * @todo Add method description for outerWidth\n * @global\n * @memberof bbn.fn\n * @returns {*}\n */\nvar outerWidth = function (ele) {\n ele = selector(ele);\n var styles = window.getComputedStyle(ele);\n var margin = parseFloat(styles[\"marginLeft\"]) + parseFloat(styles[\"marginRight\"]);\n return Math.ceil(ele.offsetWidth + margin);\n};\nexport { outerWidth };\n","import { getCssVar } from './getCssVar.js';\nimport { each } from '../loop/each.js';\nvar resize = function () {\n var diffW = bbn.env.width !== window.innerWidth;\n var diffH = bbn.env.height !== window.innerHeight;\n if (diffW || diffH) {\n if (diffW) {\n bbn.env.width =\n window.innerWidth || window.document.documentElement.clientWidth || window.document.body.clientWidth;\n document.documentElement.style.setProperty('--vw', bbn.env.width * 0.01 + 'px');\n }\n if (diffH) {\n bbn.env.height =\n window.innerHeight || window.document.documentElement.clientHeight || window.document.body.clientHeight;\n document.documentElement.style.setProperty('--vh', bbn.env.height * 0.01 + 'px');\n }\n var smallWidth = parseInt(getCssVar('mobile-limit')) || 650;\n var newCls_1 = 'bbn-screen-' + (bbn.env.width < smallWidth ? 'small' : 'regular');\n var classes_1 = (document.body.className || '').split(' ');\n var done_1 = false;\n each(classes_1, function (cls, idx) {\n var bits = cls.split('-');\n if (bits.length === 3 && cls.indexOf('bbn-screen-') === 0) {\n done_1 = true;\n if (cls !== newCls_1) {\n classes_1.splice(idx, 1, newCls_1);\n }\n return false;\n }\n });\n if (!done_1) {\n classes_1.push(newCls_1);\n }\n bbn.fn.defaultResizeFunction();\n document.body.className = classes_1.join(' ');\n }\n};\nexport { resize };\n","/**\n * Creates a CSS variable\n * @param {String*} varname\n * @param {String*} value\n * @returns\n */\nvar setCssVar = function (varname, value) {\n if (varname.indexOf(\"--\") !== 0) {\n varname = \"--\" + varname;\n }\n /** @todo To Fix */\n document.documentElement.style.setProperty(varname, value);\n};\nexport { setCssVar };\n","import { isArray } from './isArray.js';\nimport { each } from '../loop/each.js';\nimport { isFunction } from './isFunction.js';\nimport { isString } from './isString.js';\nimport { correctCase } from '../string/correctCase.js';\nimport { error } from '../browser/error.js';\nimport { log } from '../browser/log.js';\nvar checkType = function (value, type, msg) {\n var logs = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n logs[_i - 3] = arguments[_i];\n }\n var ok = false;\n if (!isArray(type)) {\n type = [type];\n }\n var typesList = [];\n each(type, function (t) {\n var _a;\n if (t === String) {\n t = 'string';\n }\n else if (t === Number) {\n t = 'number';\n }\n else if (t === Array) {\n t = 'array';\n }\n else if (t === Boolean) {\n t = 'boolean';\n }\n else if (t === Object) {\n t = 'object';\n }\n else if (t === Function) {\n t = 'function';\n }\n if (isFunction(t)) {\n typesList.push(t.name || ((_a = t.constructor) === null || _a === void 0 ? void 0 : _a.name) || t.toString());\n if (value instanceof t) {\n ok = true;\n return false;\n }\n }\n else if (!isString(t) || !isFunction(bbn.fn['is' + correctCase(t)])) {\n error(\"The type \".concat(t, \" is not recognized\"));\n }\n else if (bbn.fn['is' + correctCase(t)](value)) {\n ok = true;\n return false;\n }\n else {\n typesList.push(t);\n }\n });\n if (!ok) {\n log(['Value given', value, 'type', typeof value, 'expected', typesList.join(' or ')]);\n if (logs.length) {\n log(logs);\n }\n throw new Error((msg ? msg + ' - ' : '') + bbn._('The value should be a %s', typesList.join(' ' + bbn._('or a') + ' ')));\n }\n};\nexport { checkType };\n","/**\n * Returns true if the given argument is array.\n * @method isArray\n * @global\n * @example\n * ```javascript\n * bbn.fn.isArray([5,2,6]);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isArray = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!Array.isArray(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isArray };\n","/**\n * @method isBlob\n * @todo Add method description for isFunction\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isBlob = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Blob]\") {\n return false;\n }\n }\n return true;\n};\nexport { isBlob };\n","/**\n * Returns true if the given argument is a boolean\n * @method isBoolean\n * @global\n * @example\n * ```javascript\n * const sb = true;\n * bbn.fn.isBoolean(sb); // true\n * const sb = 1;\n * bbn.fn.isBoolean(sb); // false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isBoolean = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (![true, false].includes(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isBoolean };\n","/**\n * Returns true if the given argumen is a Canvas.\n *\n * @method isCanvas\n * @global\n * @example\n * ```javascript\n * let myCanvas = document.createElement('canvas');\n * bbn.fn.isCanvas(myCanvas);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isCanvas = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!(a instanceof HTMLCanvasElement)) {\n return false;\n }\n }\n return true;\n};\nexport { isCanvas };\n","import { isString } from './isString.js';\n/**\n * Intended to check if the argument provided is a color.\n *\n * It is possible to pass as argument a string with hexadecimal value in rgb or the name of the color.\n *\n * @method isColor\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.isColor(\"#FF0000\")\n * //true\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.isColor(\"rgb 255, 0, 0\");\n * //true\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.isColor(\"red\");\n * //true\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {Boolean}\n */\nvar isColor = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n var reg = new RegExp(\"^(#[a-f0-9]{6}|#[a-f0-9]{3}|rgb *( *[0-9]{1,3}%? *, *[0-9]{1,3}%? *, *[0-9]{1,3}%? *)|rgba *( *[0-9]{1,3}%? *, *[0-9]{1,3}%? *, *[0-9]{1,3}%? *, *[0-9]{1,3}%? *)|black|green|silver|gray|olive|white|yellow|maroon|navy|red|blue|purple|teal|fuchsia|aqua)$\", \"i\");\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (!isString(st)) {\n return false;\n }\n if (!reg.test(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isColor };\n","/**\n * Returns true if the given argument is a dom comment;\n * @method isComment\n * @example\n * ```javascript\n * bbn.fn.isComment(node.childNodes[0]);\n * //true\n * ```\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isComment = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!(a instanceof Comment)) {\n return false;\n }\n }\n return true;\n};\nexport { isComment };\n","import { isDom } from './isDom.js';\nvar isCp = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length) {\n return false;\n }\n if (!('cp' in bbn) || !('isComponent' in bbn['cp']) || !(typeof bbn['cp'].isComponent === 'function')) {\n return false;\n }\n for (var _b = 0, args_1 = args; _b < args_1.length; _b++) {\n var a = args_1[_b];\n var res = bbn.cp.isComponent(a);\n if (!res || isDom(a) || !((_a = a.$el) === null || _a === void 0 ? void 0 : _a.bbnCid)) {\n return false;\n }\n }\n return true;\n};\nexport { isCp };\n","/**\n * Returns true if the given argument is a date object.\n * @method isDate\n * @global\n * @example\n * ```javascript\n * let date = new Date();\n * bbn.fn.isDate(date);\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isDate('16/04/2020');\n * //false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isDate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Date]\") {\n return false;\n }\n }\n return true;\n};\nexport { isDate };\n","import { isValidDimension } from './isValidDimension.js';\n/**\n * Returns true if the given value is a valid CSS dimension string or a number, false otherwise.\n *\n * @method isDimension\n * @global\n * @memberof bbn.fn\n * @param {String} st\n * @returns\n */\nvar isDimension = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (typeof st !== \"number\" || st < 0) {\n return false;\n }\n if (!isValidDimension(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isDimension };\n","/**\n * Returns true if the given argument is a dom element;\n * @method isDom\n * @example\n * ```javascript\n * bbn.fn.isDom(document.body.childNodes[0]);\n * //true\n * ```\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isDom = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!(a instanceof HTMLElement)) {\n return false;\n }\n }\n return true;\n};\nexport { isDom };\n","import { isString } from './isString.js';\n/**\n * Intended to check if the argument provided is an e-mail address written correctly\n *\n * @method isEmail\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.isEmail('test@testorg');\n * //false\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.isEmail('test@test.org');\n * //true\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {Boolean}\n */\nvar isEmail = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n var regex = /^([a-zA-Z0-9_.+-])+\\@(([a-zA-Z0-9-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (!isString(st)) {\n return false;\n }\n if (!regex.test(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isEmail };\n","import { isArray } from './isArray.js';\nimport { numProperties } from '../object/numProperties.js';\n/**\n * Checks if the argument is empty or not.\n * @method isEmpty\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.isEmpty({});\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty({test : 1});\n * //false\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty([]);\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty(['test']);\n * //false\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty('');\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty('test');\n * //false\n * ```\n * @memberof bbn.fn\n * @param {*} obj\n * @returns {Boolean}\n */\nvar isEmpty = function (obj) {\n if (!obj) {\n return true;\n }\n if (isArray(obj)) {\n return obj.length ? false : true;\n }\n if (typeof obj === \"object\") {\n if (numProperties(obj)) {\n return false;\n }\n return true;\n }\n return false;\n};\nexport { isEmpty };\n","/**\n * Returns true if the given argument is an event.\n * @method isEvent\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isEvent = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!(a instanceof Event)) {\n return false;\n }\n }\n return true;\n};\nexport { isEvent };\n","/**\n * Returns true if the given argument is a function.\n * @global\n * @example\n * ```javascript\n * bbn.fn.isFunction(() => {\n * alert('Hello world');\n * });\n * //true\n * ```\n * @method isFunction\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isFunction = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var obj = args_1[_a];\n if (!(obj && obj.constructor && obj.call && obj.apply)) {\n return false;\n }\n }\n return true;\n};\nexport { isFunction };\n","import { isString } from './isString.js';\nimport { isIP } from './isIP.js';\nvar isHostname = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (!isString(st)) {\n return false;\n }\n if (!isIP(st) && !bbn.var.regexp.hostname.test(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isHostname };\n","import { isString } from './isString.js';\nvar isIP = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (!isString(st) || !bbn.var.regexp.ip.test(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isIP };\n","/**\n * Returns true if the given argument is an integer\n * @method isInt\n * @global\n * @example\n * ```javascript\n * bbn.fn.isInt(5);\n * // true\n * bbn.fn.isInt(0.5);\n * // false\n * bbn.fn.isInt(\"hello\");\n * // false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isInt = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!Number.isInteger(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isInt };\n","/**\n * Returns true if the given object can be iterated as an array (numerically).\n *\n * It is possible to pass as argument a string with hexadecimal value in rgb or the name of the color.\n *\n * @method isIterable\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.isIterable([1, 2])\n * // true\n * bbn.fn.isIterable({a: 1, b: 2})\n * // false\n * bbn.fn.isIterable(25)\n * // false\n * bbn.fn.isIterable(document.body.querySelectorAll('.container > div'))\n * // true\n * ```\n *\n * @param {String} st\n *\n * @returns {Boolean}\n */\nvar isIterable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length) {\n return false;\n }\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!a ||\n (typeof a !== \"object\") ||\n !(Symbol.iterator in Object(a))) {\n return false;\n }\n }\n return true;\n};\nexport { isIterable };\n","/**\n * Returns true if the given argument is null;\n * @method isNull\n * @global\n * @example\n * ```javascript\n * bbn.fn.isNull(myData);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isNull = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Null]\") {\n return false;\n }\n }\n return true;\n};\nexport { isNull };\n","/**\n * Returns true if the given argument is a number\n * @method isNumber\n * @global\n * @example\n * ```javascript\n * bbn.fn.isNumber(5);\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isNumber(0.5);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isNumber = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ([\"boolean\", \"object\", \"symbol\"].includes(typeof a) ||\n a === \"\" ||\n isNaN(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isNumber };\n","/**\n * Returns true if the given argument is an object.\n * @method isObject\n * @global\n * @example\n * ```javascript\n * bbn.fn.isObject({name: 'cami', age: 7});\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isObject([{name: 'cami', age: 7}]);\n * //false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isObject = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Object]\") {\n return false;\n }\n }\n return true;\n};\nexport { isObject };\n","/**\n * Returns true if the given argument is a percentage.\n * @method isPercent\n * @global\n * @example\n * ```javascript\n * bbn.fn.isPercent('5%');\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isPercent = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (typeof a !== \"string\" || !a.match(/^\\d+(?:\\.\\d+)?%$/)) {\n return false;\n }\n }\n return true;\n};\nexport { isPercent };\n","/**\n * Returns true if the given arguments are primitive;\n * @method isPrimitive\n * @global\n * @example\n * ```javascript\n * bbn.fn.isPrimitive('myString', 6, true);\n * //true\n * bbn.fn.isPrimitive([80,10,22]);\n * //false\n * bbn.fn.isPrimitive({});\n * //false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isPrimitive = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (a !== null && (typeof a == \"object\" || typeof a == \"function\")) {\n return false;\n }\n }\n return true;\n};\nexport { isPrimitive };\n","/**\n * Returns true if the given argument is a promise.\n * @global\n * @example\n * ```javascript\n * bbn.fn.isPromise(bbn.fn.post('myUrl'));\n * // true\n * bbn.fn.isPromise(setTimeout(() => {}))\n * // false\n * bbn.fn.isPromise(myVueObject.$nextTick());\n * // true\n * ```\n * @method isFunction\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isPromise = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Promise]\") {\n return false;\n }\n }\n return true;\n};\nexport { isPromise };\n","import { each } from '../loop/each.js';\nvar isPropSize = function (name) {\n var isTrue = false;\n each(['width', 'height', 'gap', 'margin', 'padding', 'top', 'left', 'right', 'bottom'], function (a) {\n if (name.indexOf(a) !== -1) {\n isTrue = true;\n return false;\n }\n });\n return isTrue;\n};\nexport { isPropSize };\n","/**\n * @ignore\n * @method isSQLDate\n * @todo Add method description for isSQLDate\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isSQLDate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (typeof a !== \"string\" ||\n !a.match(/^([1-2]\\d{3})-((0\\d)|(1[12]))-(([0-2]\\d)|(3[01]))(?:( [0-2]\\d):([0-5]\\d):([0-5]\\d))?$/)) {\n return false;\n }\n }\n return true;\n};\nexport { isSQLDate };\n","import { hash } from '../string/hash.js';\nimport { each } from '../loop/each.js';\nimport { analyzeFunction } from '../misc/analyzeFunction.js';\n/**\n * Checks whether the data contained in the given objects is identical.\n *\n * The properties starting with a non alphanumerical character and the\n * inherited ones are removed for the comparison, then the properties are\n * compared individually without the order being taken into account.\n *\n * @method isSame\n * @global\n * @example\n * ```javascript\n * bbn.fn.isSame(\n * {name: \"Wonka\", fname: \"Willy\"},\n * {fname: \"Willy\", name: \"Wonka\"}\n * );\n * // true\n * ```\n * @example\n * ```javascript\n * // Doesn't take into account properties starting with non-alphanumeric characters\n * bbn.fn.isSame(\n * {name: \"Wonka\", fname: \"Willy\", _bbn_timestamp: 1587269593987},\n * {fname: \"Willy\", name: \"Wonka\"}\n * );\n * // true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isSame(\n * {name: \"Wonka\", fname: \"Willy\", real: false},\n * {fname: \"Willy\", name: \"Wonka\"}\n * );\n * // false\n * ```\n * @memberof bbn.fn\n * @param {Object} obj1\n * @param {Object} obj2\n * @returns {Boolean}\n */\nvar isSame = function (obj1, obj2, done) {\n if (!done) {\n done = [];\n }\n if (obj1 === obj2) {\n return true;\n }\n if (obj1 && obj2 && typeof obj1 === 'object' && typeof obj2 === 'object') {\n var tmp1 = Object.keys(obj1).sort(), tmp2 = Object.keys(obj2).sort();\n // Case where the keys are different\n if (hash(tmp1) !== hash(tmp2)) {\n return false;\n }\n var ok_1 = true;\n if (obj1 && typeof obj1 === 'object') {\n if (done.includes(obj1)) {\n return ok_1;\n }\n done.push(obj1);\n }\n each(tmp1, function (a) {\n if (!isSame(obj1[a], obj2[a])) {\n ok_1 = false;\n return false;\n }\n });\n return ok_1;\n }\n else if (obj1 && obj2 && typeof obj1 === 'function' && typeof obj2 === 'function') {\n var tmp1 = analyzeFunction(obj1);\n var tmp2 = analyzeFunction(obj2);\n return tmp1.hash === tmp2.hash;\n }\n return false;\n};\nexport { isSame };\n","/**\n * Returns true if the given argument is a string;\n * @method isString\n * @global\n * @example\n * ```javascript\n * bbn.fn.isString('bbn');\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object String]\") {\n return false;\n }\n }\n return true;\n};\nexport { isString };\n","/**\n * Returns true if the given argument is a symbol;\n * @method isSymbol\n * @global\n * @example\n * ```javascript\n * const sb = Symbol();\n * bbn.fn.isSymbol(sb);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isSymbol = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Symbol]\") {\n return false;\n }\n }\n return true;\n};\nexport { isSymbol };\n","var isURL = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var str = args_1[_a];\n if (!bbn.var.regexp.url.test(str)) {\n return false;\n }\n }\n return true;\n};\nexport { isURL };\n","import { isNumber } from './isNumber.js';\nimport { substr } from '../string/substr.js';\n/**\n * Returns true if the given value is a valid CSS dimension string, false otherwise.\n *\n * @method isValidDimension\n * @global\n * @memberof bbn.fn\n * @param {String} st\n * @returns\n */\nvar isValidDimension = function (st) {\n if (typeof st === \"string\" &&\n st.length > 0 &&\n (st.indexOf(\"calc\") === 0 || isNumber(substr(st, 0, 1)))) {\n var el = document.createElement(\"div\");\n el.style.width = st;\n var res = !!el.style.width.length;\n el.remove();\n return res;\n }\n return false;\n};\nexport { isValidDimension };\n","import { isString } from './isString.js';\n/**\n * Returns true if the given value is a valid name for a function without checking in reserved words, false otherwise\n * @method isValidName\n * @global\n * @example\n * ```javascript\n * bbn.fn.isValidName('$myFunc_tion')\n * // true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isValidName('7Y')\n * // false\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.isValidName('function')\n * // true\n * ```\n *\n * @memberof bbn.fn\n * @param {String} st\n * @returns {Boolean}\n */\nvar isValidName = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length) {\n return false;\n }\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var arg = args_1[_a];\n if (!isString(arg) || !/^[$A-Z_][0-9A-Z_$]*$/i.test(arg)) {\n return false;\n }\n }\n return true;\n};\nexport { isValidName };\n","import { isNull } from './isNull.js';\n/**\n * Returns true if the given argument is not null or type object or array.\n * @method isValue\n * @deprecated\n * @see bbn.fn.isPrimitive\n * @example\n * ```javascript\n * bbn.fn.isValue('myString');\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isValue(6);\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isValue([80,10,22]);\n * //false\n * ```\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isValue = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (typeof a === \"object\" && !isNull(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isValue };\n","/**\n * Returns true if the given argumen is a VueJS object.\n *\n * @method isVue\n * @global\n * @example\n * ```javascript\n * let myObj = new Vue({});\n * bbn.fn.isVue(myObj);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isVue = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length) {\n return false;\n }\n if (\"vue\" in bbn && window[\"Vue\"]) {\n if (\"app\" in bbn.vue) {\n for (var _b = 0, args_1 = args; _b < args_1.length; _b++) {\n var a = args_1[_b];\n if (!a || typeof a.render !== \"function\") {\n return false;\n }\n }\n }\n else {\n for (var _c = 0, args_2 = args; _c < args_2.length; _c++) {\n var a = args_2[_c];\n if (!(a instanceof window[\"Vue\"])) {\n return false;\n }\n }\n }\n }\n if (\"cp\" in bbn &&\n \"isComponent\" in bbn[\"cp\"] &&\n typeof bbn[\"cp\"].isComponent === \"function\") {\n return (_a = bbn.cp).isComponent.apply(_a, args);\n }\n return true;\n};\nexport { isVue };\n","var lng = {\n /* User-defined languages elements */\n select_unselect_all: \"Select/Clear all\",\n select_all: \"Select all\",\n search: 'Search',\n loading: 'Loading...',\n choose: 'Choose',\n error: 'Error',\n server_response: 'Server response',\n reload: 'Reload',\n errorText: 'Something went wrong',\n closeAll: \"Close all\",\n closeOthers: \"Close others\",\n pin: \"Pin\",\n arrange: \"Arrange\",\n cancel: \"Cancel\",\n unpin: \"Unpin\",\n yes: \"Yes\",\n no: \"No\",\n unknown: \"Unknown\",\n untitled: \"Untitled\",\n confirmation: \"Confirmation\",\n Today: \"Today\",\n Tomorrow: \"Tomorrow\",\n Yesterday: \"Yesterday\"\n};\nexport { lng };\n","var vars = {\n loggers: {\n _num: 0\n },\n /* Usable datatypes through Ajax function */\n datatypes: ['xml', 'html', 'script', 'json', 'jsonp', 'text', 'blob'],\n /* The default value used by the function shorten */\n shortenLen: 30,\n /* Categorizing keyboard map */\n keys: {\n upDown: [33, 34, 35, 36, 38, 40],\n leftRight: [36, 35, 37, 39],\n dels: [8, 46, 45],\n confirm: [13, 9],\n alt: [20, 16, 17, 18, 144],\n numbers: [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105],\n numsigns: [109, 110, 189, 190]\n },\n comparators: [\">=\", \"<=\", \">\", \"<\", \"=\"],\n operators: [\"+\", \"-\", \"/\", \"*\"],\n tags: ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'slot', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr'],\n colors: {\n darkgrey: '#5a6a62',\n black: '#000000',\n anthracite: '#454545',\n grey: '#d3d3d3',\n white: '#ffffff',\n beige: '#fdfdfd',\n lightgrey: '#dcdcdc',\n pastelblue: '#ddebf6',\n cyan: '#00c8f8',\n blue: '#6e9ecf',\n indigo: '#3f51b5',\n navy: '#354458',\n webblue: '#2196f3',\n teal: '#009688',\n turquoise: '#1fda9a',\n pastelgreen: '#e2efda',\n palegreen: '#ccffcc',\n green: '#00a03e',\n olive: '#92b06a',\n pastelorange: '#fff2cc',\n yellow: '#fdf200',\n orange: '#ff9900',\n pink: '#eb65a0',\n purple: '#a333c8',\n red: '#db3340',\n brown: '#8c6954'\n },\n reserved: ['abstract', 'boolean', 'break', 'byte', 'case', 'catch', 'char', 'class', 'continue', 'const', 'debugger', 'default', 'delete', 'do', 'double', 'else', 'enum', 'export', 'extends', 'false', 'final', 'finally', 'float', 'for', 'function', 'goto', 'if', 'implements', 'import', 'in', 'instanceof', 'int', 'interface', 'long', /*'native', */ 'new', 'null', 'package', /*'private', 'protected', 'public', */ 'return', /*'short', 'static',*/ 'super', 'switch', 'synchronized', 'this', 'throw', 'throws', 'transient', 'true', 'try', 'typeof', 'var', 'void', 'while', 'with'],\n mockText: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n regexp: {\n url: new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.?)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'),\n ip: /^((\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])$/,\n hostname: /^[a-z\\d]([a-z\\d-]{0,61}[a-z\\d])?(\\.[a-z\\d]([a-z\\d-]{0,61}[a-z\\d])?)*$/i,\n }\n};\nexport { vars };\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\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\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\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) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\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 adapters: knownAdapters\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.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 speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return 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 };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), 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() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\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 // 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 if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\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 (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\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(fullPath);\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 /**\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';\nimport utils from '../utils.js';\n\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 */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\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';\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 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 }, 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.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 requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\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.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, 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 i = 0;\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);\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\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 */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function 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.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\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 {\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 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 *\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 {Boolean} `true` if the interceptor was removed, `false` otherwise\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) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\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);\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) => thing instanceof AxiosHeaders ? thing.toJSON() : 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, 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 // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, 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 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) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], 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 [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'],\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 if (!hasJSONContentType) {\n return data;\n }\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 ) {\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 (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);\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};\n","export const VERSION = \"1.5.1\";","'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};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\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 replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\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} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\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","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function 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 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 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","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\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","'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 * var 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","'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 (!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(), Object.assign({\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","'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\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\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 isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\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 */\n const isStandardBrowserWebWorkerEnv = (() => {\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\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\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;\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 an Array\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 val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\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/**\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 (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\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 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' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\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\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) => str.trim ?\n 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} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [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 // 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\nfunction findKey(obj, key) {\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 * var 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} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\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 {\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 {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 constructor.prototype.constructor = constructor;\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 ((!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/**\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[Symbol.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,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(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'].indexOf(name) !== -1) {\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) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\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 !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\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 && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\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 ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\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\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","// 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__.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 axios from 'axios';\nimport dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar.js';\nimport dayOfYear from 'dayjs/plugin/dayOfYear.js';\nimport duration from 'dayjs/plugin/duration.js';\nimport isBetween from 'dayjs/plugin/isBetween.js';\nimport isLeapYear from 'dayjs/plugin/isLeapYear.js';\nimport isoWeek from 'dayjs/plugin/isoWeek.js';\nimport localeData from 'dayjs/plugin/localeData.js';\nimport localizedFormat from 'dayjs/plugin/localizedFormat.js';\nimport minMax from 'dayjs/plugin/minMax.js';\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear.js';\nimport relativeTime from 'dayjs/plugin/relativeTime.js';\nimport timezone from 'dayjs/plugin/timezone.js';\nimport updateLocale from 'dayjs/plugin/updateLocale.js';\nimport utc from 'dayjs/plugin/utc.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\ndayjs.extend(calendar);\ndayjs.extend(dayOfYear);\ndayjs.extend(duration);\ndayjs.extend(isBetween);\ndayjs.extend(isLeapYear);\ndayjs.extend(isoWeek);\ndayjs.extend(localeData);\ndayjs.extend(localizedFormat);\ndayjs.extend(minMax);\ndayjs.extend(quarterOfYear);\ndayjs.extend(relativeTime);\ndayjs.extend(timezone);\ndayjs.extend(updateLocale);\ndayjs.extend(utc);\ndayjs.extend(weekOfYear);\nimport { _ } from './_.js';\nimport { $ } from './$.js';\nimport { lng } from './lng.js';\nimport { vars } from './vars.js';\nimport { env } from './env.js';\nimport { db } from './db.js';\nimport { fn } from './fn.js';\nvar bbn = {\n version: \"1.0.1\",\n opt: {\n _cat: {}\n },\n app: {},\n _: _,\n $: $,\n lng: lng,\n var: vars,\n env: env,\n db: db,\n fn: fn\n};\nif ('undefined' !== typeof window) {\n window.axios = axios;\n window.dayjs = dayjs;\n window.bbn = bbn;\n}\nexport { bbn as default, bbn, dayjs, axios };\n"],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"bbn.js","mappings":"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AAQ;AACnB,aAAa;AACb;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,gEAAS;AACrB;AACA,SAAS;AACT;AACA;AACA;AACa;;;;;;;;;;;;;;;;;;;;AC3Bc;AACc;AACM;AACL;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sDAAI;AAChB;AACA;AACA,oBAAoB,uDAAG;AACvB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sCAAC;AACjC;AACA;AACA;AACA;AACA,gBAAgB,uDAAG;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sCAAC;AACjC;AACA;AACA;AACA;AACA,gBAAgB,uDAAG;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sCAAC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4DAAO;AAC3B;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sCAAC;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;AACpB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,oCAAoC,sCAAC;AACrC;AACA;AACA;AACA,oBAAoB,uDAAG;AACvB;AACA,oBAAoB,4DAAO;AAC3B;AACA,uEAAuE,kBAAkB;AACzF,wBAAwB,4DAAO;AAC/B;AACA;AACA;AACA,iCAAiC;AACjC;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sCAAC;AAC7B;AACA;AACA;AACc;;;;;;;;;;;;;;;;ACxLd;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;AACe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CsC;AACU;AACJ;AAChB;AACM;AACG;AACD;AACD;AACO;AACJ;AACE;AACd;AACsB;AACT;AACkB;AACX;AACN;AACJ;AACN;AACQ;AACJ;AACE;AACI;AACO;AAChB;AACS;AACc;AACJ;AACd;AACgB;AACtB;AACW;AACP;AACoB;AACzB;AACa;AACZ;AACA;AACc;AACP;AACP;AACM;AACQ;AACR;AACiC;AACA;AACR;AACI;AACM;AACV;AACI;AACN;AACQ;AACF;AACF;AACY;AACnC;AACN;AACA;AACA;AACc;AACtB;AACiB;AACZ;AACe;AACF;AACE;AACJ;AACJ;AACN;AACM;AACN;AACQ;AACF;AACJ;AACF;AACwB;AACtB;AACR;AACE;AACI;AACU;AACA;AACF;AACN;AACC;AACH;AACM;AACI;AACE;AACK;AACM;AAChB;AACF;AACH;AACa;AACF;AACT;AACY;AAChB;AACsB;AAClB;AACJ;AACE;AACQ;AACA;AACV;AACmB;AACnB;AACM;AACP;AACH;AACO;AACA;AACC;AACW;AACJ;AACd;AACR;AACkC;AACvB;AACF;AACM;AACF;AACF;AACI;AACV;AACI;AACqB;AACX;AACZ;AACI;AACA;AACA;AACO;AACD;AACA;AACJ;AACN;AACc;AAChB;AACY;AACD;AACY;AACnB;AACI;AACA;AACE;AACI;AACJ;AACE;AACR;AACM;AACF;AACA;AACe;AACrB;AACsB;AACV;AACR;AACJ;AACI;AACmB;AACzB;AACC;AACe;AAChB;AACA;AACE;AACA;AACY;AACE;AACZ;AACgB;AACI;AACpB;AACW;AACF;AACP;AACM;AACZ;AACM;AACA;AACU;AACN;AACQ;AACE;AACJ;AACY;AACE;AACF;AACI;AAC1B;AACQ;AACa;AACtB;AACI;AACD;AACQ;AACN;AACJ;AACuB;AACrB;AACK;AACF;AACe;AAClB;AACQ;AACR;AACM;AACN;AACM;AACE;AACA;AACS;AACM;AAC3B;AACE;AACN;AACc;AACT;AACsB;AACjB;AACkB;AAC1B;AACY;AACR;AACF;AACK;AAClD;AACA,gBAAgB,6DAAU;AAC1B,oBAAoB,uEAAc;AAClC,mBAAmB,mEAAa;AAChC,WAAW,oDAAK;AAChB,cAAc,0DAAQ;AACtB,eAAe,6DAAS;AACxB,eAAe,4DAAS;AACxB,cAAc,2DAAQ;AACtB,kBAAkB,kEAAY;AAC9B,gBAAgB,8DAAU;AAC1B,iBAAiB,iEAAW;AAC5B,UAAU,mDAAI;AACd,qBAAqB,yEAAe;AACpC,gBAAgB,gEAAU;AAC1B,wBAAwB,kFAAkB;AAC1C,mBAAmB,uEAAa;AAChC,gBAAgB,iEAAU;AAC1B,cAAc,6DAAQ;AACtB,WAAW,uDAAK;AAChB,cAAc,+DAAQ;AACtB,cAAc,2DAAQ;AACtB,cAAc,6DAAQ;AACtB,gBAAgB,iEAAU;AAC1B,mBAAmB,wEAAa;AAChC,YAAY,wDAAM;AAClB,gBAAgB,iEAAU;AAC1B,uBAAuB,+EAAiB;AACxC,qBAAqB,2EA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ClB,YAAY,wDAAM;AAClB,aAAa,6DAAO;AACpB;AACc;;;;;;;;;;;;;;;;;AC7c+B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB,cAAc,yDAAM;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;;AClDuB;AACA;AACE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,qBAAqB;AACnC,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB;AACA;AACA,0BAA0B;AAC1B,8BAA8B;AAC9B,cAAc,yDAAM,oBAAoB,gBAAgB;AACxD;AACA;AACA,wBAAwB,yDAAM,2BAA2B,qCAAqC;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;ACxCkB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,WAAW;AACxC,qDAAqD,WAAW;AAChE;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc;AACd;AACA;AACA,iBAAiB,wDAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACiB;;;;;;;;;;;;;;;;;;ACjCsB;AACM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,WAAW;AACxC,6BAA6B,WAAW;AACxC;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc;AACd;AACA;AACA,IAAI,mDAAI,CAAC,yDAAM,oBAAoB,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACoB;;;;;;;;;;;;;;;;;;;;;;;;;AChC2B;AACM;AACJ;AACN;AACE;AACc;AACR;AACA;AACN;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM;AACZ;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;AACA,cAAc,UAAU;AACxB;AACA;AACA,+BAA+B;AAC/B,2BAA2B;AAC3B,8BAA8B;AAC9B,8BAA8B;AAC9B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iEAAU;AAC5B;AACA;AACA;AACA;AACA,0BAA0B,8DAAY;AACtC,wBAAwB,wDAAS;AACjC;AACA;AACA;AACA;AACA;AACA,YAAY,yDAAM,WAAW,IAAI,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,2DAAQ,UAAU,uEAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,+DAAa;AACzB;AACA;AACA;AACA,wBAAwB,+DAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,YAAY,+DAAa;AACzB;AACA;AACA;AACA,oBAAoB,+DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,+DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oBAAoB,yDAAU;AAC9B;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;;AC1K4B;AACO;AACX;AACxC;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,oBAAoB,OAAO;AAC3B,kBAAkB,OAAO;AACzB,iBAAiB,OAAO;AACxB,eAAe,OAAO;AACtB,qBAAqB,OAAO;AAC5B,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B;AACA,cAAc,GAAG;AACjB;AACA;AACA,0BAA0B;AAC1B,yBAAyB;AACzB,0BAA0B;AAC1B,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wDAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,+DAAU;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,+DAAU;AACtC;AACA;AACA;AACA;AACA,wBAAwB,oDAAG;AAC3B,wBAAwB,wDAAK,CAAC,+DAAU;AACxC;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA,0BAA0B,+DAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;;;;ACrHa;AACY;AACI;AACN;AACI;AACQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA,cAAc;AACd;AACA;AACA,+BAA+B;AAC/B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,WAAW,8CAAI,0BAA0B,kBAAkB;AAC3D;AACA;AACA,kCAAkC;AAClC;AACA,2BAA2B,yDAAM;AACjC;AACA;AACA,2BAA2B,6DAAQ;AACnC;AACA;AACA,YAAY,uDAAM;AAClB,4BAA4B,2DAAO;AACnC;AACA;AACA;AACA;AACA,gBAAgB,oEAAe;AAC/B;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACoB;;;;;;;;;;;;;;;;;;;;ACnE2B;AACA;AACA;AACP;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,mBAAmB;AAC/D;AACA;AACA;AACA,cAAc,+BAA+B;AAC7C,cAAc,+BAA+B;AAC7C,cAAc,+BAA+B;AAC7C;AACA,cAAc;AACd;AACA;AACA,2BAA2B;AAC3B,QAAQ,2DAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,2DAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2DAAQ;AAChB,oCAAoC,YAAY;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAG;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2B;;;;;;;;;;;;;;;;;AC1EkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,WAAW;AACxC,qDAAqD,WAAW;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B,oBAAoB,QAAQ,YAAY,WAAW,UAAU;AAC7D;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,aAAa;AAC3B;AACA;AACA,cAAc,yDAAM,oBAAoB,gBAAgB;AACxD;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;AC3CwB;AACN;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO,YAAY;AAC1D;AACA,uCAAuC,OAAO,YAAY;AAC1D;AACA,uCAAuC,OAAO,YAAY;AAC1D;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,QAAQ,yDAAO;AACf;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,mDAAG;AAC1B;AACwB;;;;;;;;;;;;;;;;;;;;;;;;AC7DqC;AAClB;AACV;AACO;AACK;AACE;AACN;AACkB;AAC3D;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,qBAAqB,uBAAuB;AAC5C;AACA;AACA,cAAc,0EAAkB;AAChC;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,SAAS;AACT;AACA;AACA,QAAQ,wDAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,8CAAI;AACvB;AACA,oBAAoB,oDAAG;AACvB;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA,wBAAwB,oDAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,sDAAQ;AAC5B;AACA;AACA,wBAAwB,wEAAiB;AACzC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;;ACxI6C;AAC5B;AACQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA,IAAI;AACJ;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,cAAc,0EAAkB;AAChC;AACA,eAAe,8CAAI;AACnB,YAAY,sDAAQ;AACpB,SAAS;AACT;AACA;AACgB;;;;;;;;;;;;;;;;;;;AChDyC;AACR;AACM;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,6BAA6B;AAC7G;AACA;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;AACA,cAAc;AACd;AACA;AACA,8BAA8B;AAC9B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mEAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qEAAY;AAC3B;AACA;AACA;AACA,QAAQ,6DAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;;;ACrD0B;AACA;AACA;AACI;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;AACA,cAAc;AACd;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B;AACA;AACA;AACA,kDAAkD,yDAAM;AACxD;AACA,mBAAmB,yDAAM;AACzB;AACA,qBAAqB,yDAAM;AAC3B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,6DAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;;;;ACjFkB;AACI;AACN;AACc;AAC3D;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,SAAS;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,QAAQ,2DAAQ;AAChB;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA,YAAY,+DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yDAAM;AACvC;AACA;AACA;AACA;AACA;AACA,qCAAqC,yDAAM;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uEAAa;AACpC;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;;AC/HiC;AACvB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,cAAc;AACd;AACA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,+BAA+B;AAC/B;AACA,+CAA+C,2EAAgB;AAC/D;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oDAAG;AACnB;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB,oDAAG;AACnB;AACA;AACA,SAAS;AACT;AACA;AACkB;;;;;;;;;;;;;;;;;;ACtD6B;AACI;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA,qBAAqB;AACrB;AACA,yBAAyB,2DAAQ,QAAQ,+DAAU;AACnD;AACA;AACA,6EAA6E;AAC7E;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACgB;;;;;;;;;;;;;;;;ACnDhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,iCAAiC,kBAAkB;AACnD;AACuB;;;;;;;;;;;;;;;;;AChBQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA,iDAAiD,qBAAqB;AACtE,SAAS;AACT,QAAQ,wCAAG;AACX;AACA;AACA;AACiB;;;;;;;;;;;;;;;;AC5BjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;;;;;;;;;;;;;;;;AC3B1B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;AC5B7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,qCAAqC;AACrC,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC/BrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;;ACtB0C;AAC5B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,+EAAkB;AACzC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mDAAI;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACwB;;;;;;;;;;;;;;;;;AClHO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,2CAA2C,mBAAmB,gBAAgB;AAC9E,KAAK;AACL,IAAI,wCAAG;AACP;AACA;AACiB;;;;;;;;;;;;;;;;ACzBjB;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;ACHY;AAC/B;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB,gBAAgB;AAC5E,KAAK;AACL,IAAI,wCAAG;AACP;AACA;AACgB;;;;;;;;;;;;;;;;ACtBhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;ACpB+B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,WAAW,wEAAa;AACxB;AAC2B;;;;;;;;;;;;;;;;AChB3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,cAAc,SAAS;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA;AACqB;;;;;;;;;;;;;;;;;;ACvBgC;AACA;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,WAAW,kEAAc,MAAM,kEAAc;AAC7C;AACoB;;;;;;;;;;;;;;;;;ACjBwC;AAC5D;AACA,WAAW,wEAAa;AACxB;AAC0B;;;;;;;;;;;;;;;;;ACJkC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW,wEAAa;AACxB;AAC0B;;;;;;;;;;;;;;;;;AChByB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,+DAAU;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;;;;;;;;;;;;;;;;AClDf;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;AAC4B;;;;;;;;;;;;;;;;ACzC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,cAAc,SAAS;AACvB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;AC1C7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qCAAqC,cAAc;AACnD,qDAAqD;AACrD;AACqB;;;;;;;;;;;;;;;;;ACxBuB;AAC5C;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,QAAQ,wDAAM;AACd,KAAK;AACL;AAC4B;;;;;;;;;;;;;;;;;ACtCG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,qBAAqB;AAClE;AACA;AACA,IAAI,wCAAG;AACP;AACmB;;;;;;;;;;;;;;;;ACvBnB;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;ACH9B;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;ACnBzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;ACvBtB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,gBAAgB;AACtE;AACA;AACA;AACA,kDAAkD,gBAAgB;AAClE;AACA;AACA;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;AC3DnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,8BAA8B,EAAE,UAAU,EAAE,UAAU,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;AC5BnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;ACpB0B;AACnD;AACA,2BAA2B;AAC3B,iBAAiB,gEAAa;AAC9B;AACA;AACuB;;;;;;;;;;;;;;;;ACNvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;AC3BnB;AACA,+CAA+C;AAC/C;AACA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;;;ACRS;AACM;AACQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uCAAuC,GAAG,8BAA8B;AAC1F;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ,SAAS;AAC/B,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mDAAI;AACR,kBAAkB,yDAAO;AACzB;AACA,QAAQ,mDAAI;AACZ;AACA,uCAAuC,iEAAU;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACiB;;;;;;;;;;;;;;;;;;;;;;AClES;AACmC;AAC1B;AACF;AACU;AACI;AAC/C;AACA,uBAAuB;AACvB;AACA,yCAAY,CAAC,qDAAqB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,kBAAkB;AAChC,cAAc;AACd;AACA;AACA,mCAAmC;AACnC,sBAAsB,kCAAK;AAC3B,eAAe,gDAAK;AACpB;AACA,YAAY,8CAAI;AAChB,SAAS,uDAAM;AACf,+BAA+B,2DAAQ;AACvC;AACA,WAAW,kCAAK;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACoB;;;;;;;;;;;;;;;;;;AC9CmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmC;;;;;;;;;;;;;;;;;;;AC5CY;AACF;AACF;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,2DAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yDAAM,qBAAqB,yDAAM,yBAAyB,yDAAM;AACrG;AACA;AACA,qCAAqC,yDAAM,qBAAqB,yDAAM,yBAAyB,yDAAM,qBAAqB,yDAAM,sBAAsB,yDAAM,sBAAsB,yDAAM;AACxL;AACA;AACA,aAAa,uDAAM;AACnB;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;AC3CiB;AACP;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA,gBAAgB,8CAAI;AACpB;AACA,eAAe,kCAAK;AACpB;AACA;AACmB;;;;;;;;;;;;;;;;;AC1Bc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA,YAAY,8CAAI;AAChB;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;;;;ACvBoB;AACV;AACU;AACI;AAC/C;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,eAAe,wDAAS;AACxB;AACA,YAAY,8CAAI;AAChB,SAAS,uDAAM;AACf,+BAA+B,2DAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;;;AC5BgB;AACU;AACI;AAC/C;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,mCAAmC;AACnC,YAAY,8CAAI;AAChB,SAAS,uDAAM;AACf,+BAA+B,2DAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC9BrB;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;;ACHW;AACU;AACI;AAC/C;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,YAAY,8CAAI;AAChB,SAAS,uDAAM;AACf,+BAA+B,2DAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;ACpBgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA,YAAY,8CAAI;AAChB;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACzBlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;AClBmB;AACxC;AACA,0BAA0B;AAC1B,IAAI,oDAAG;AACP;AACoC;;;;;;;;;;;;;;;;;ACLI;AACxC;AACA,iCAAiC;AACjC,kCAAkC;AAClC,IAAI,oDAAG;AACP;AACoC;;;;;;;;;;;;;;;;ACNpC;AACA,4BAA4B;AAC5B;AACA;AACA;AACgC;;;;;;;;;;;;;;;;;ACLmB;AACnD;AACA,2BAA2B;AAC3B;AACA;AACA,YAAY,+DAAU;AACtB;AACA;AACA;AACA;AACA,eAAe,+DAAU;AACzB;AACA;AACA;AACkC;;;;;;;;;;;;;;;;ACdlC;AACA,2BAA2B;AAC3B,0BAA0B;AAC1B;AACA;AACqC;;;;;;;;;;;;;;;;;ACLG;AACxC;AACA,IAAI,oDAAG;AACP;AACgC;;;;;;;;;;;;;;;;ACJhC;AACA;AACA;AACkC;;;;;;;;;;;;;;;;ACHlC;AACA;AACA;AAC+B;;;;;;;;;;;;;;;;ACH/B;AACA,0BAA0B;AAC1B;AACA;AACmC;;;;;;;;;;;;;;;;;ACJK;AACxC;AACA,4BAA4B;AAC5B,0BAA0B;AAC1B,IAAI,oDAAG;AACP;AACA;AACkC;;;;;;;;;;;;;;;;ACPlC;AACA;AACA;AACiC;;;;;;;;;;;;;;;;ACHjC;AACA,2BAA2B;AAC3B,gCAAgC;AAChC;AACA;AACuC;;;;;;;;;;;;;;;;;ACLM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,6BAA6B;AACrC,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA,YAAY,yDAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AClFrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;;;ACjCiB;AACM;AACQ;AACR;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mDAAI;AACR,YAAY,0DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iEAAU;AACnC,yBAAyB,iEAAU;AACnC,yBAAyB,iEAAU;AACnC;AACA;AACA,oBAAoB,yDAAM;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;;;AC9FyB;AACN;AACQ;AACF;AACF;AAC3C;AACA;AACA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;AACA;AACA,0BAA0B;AAC1B,iCAAiC;AACjC;AACA;AACA,8BAA8B;AAC9B,4BAA4B,yDAAO;AACnC;AACA;AACA;AACA,qBAAqB,yDAAO;AAC5B,gBAAgB,mDAAI;AACpB;AACA,iBAAiB;AACjB;AACA,qBAAqB,2DAAQ;AAC7B,gBAAgB,yDAAO;AACvB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB,uDAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;;;;;;;;;;;;;;;;;;AC/Ca;AACF;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sDAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mDAAI;AACpB;AACA;AACA,gBAAgB,mDAAI;AACpB;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;;AClDiC;AACN;AAC7C;AACA;AACA,6BAA6B,+DAAU;AACvC;AACA;AACA,WAAW,0DAAU;AACrB;AACwB;;;;;;;;;;;;;;;;;ACTe;AACvC;AACA;AACA,IAAI,mDAAI;AACR;AACA,KAAK;AACL,IAAI,mDAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,mDAAI;AACR;AACA;AACA;AACA,KAAK;AACL;AACsB;;;;;;;;;;;;;;;;;;ACpB6B;AACN;AAC7C;AACA;AACA,6BAA6B,+DAAU;AACvC;AACA;AACA,WAAW,0DAAU;AACrB;AACuB;;;;;;;;;;;;;;;;;ACTsB;AAC7C;AACA;AACA;AACA;AACA;AACA,WAAW,yDAAM,yDAAyD,iCAAiC;AAC3G;AACsB;;;;;;;;;;;;;;;;ACRtB;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;ACzBoB;AAC5C;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,QAAQ,wDAAK;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACyB;;;;;;;;;;;;;;;;;ACfe;AACxC;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAG;AACX;AACA,QAAQ,oDAAG;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;ACjBuC;AACrE;AACA,oCAAoC;AACpC;AACA;AACA,aAAa,iFAAkB;AAC/B;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;ACTkC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,gCAAgC,iEAAU,WAAW,iEAAU;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACxDnB;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACHnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;ACrBrB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;;;AChByB;AACF;AACR;AACvC;AACA,oBAAoB,8DAAY;AAChC;AACA,YAAY,2DAAQ;AACpB;AACA,YAAY,mDAAI;AAChB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;;;;;;ACtBoB;AACiB;AACV;AACA;AACF;AACG;AACG;AACR;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAG;AACf;AACA;AACA;AACA,uBAAuB,qEAAY;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA,0CAA0C,2DAAQ;AAClD;AACA,oBAAoB,yDAAO;AAC3B;AACA;AACA,yCAAyC,uBAAuB;AAChE;AACA;AACA;AACA,wBAAwB,4DAAO;AAC/B,wBAAwB,oDAAG;AAC3B;AACA;AACA;AACA;AACA,oBAAoB,+DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,yDAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA,oBAAoB,oDAAG;AACvB;AACA,qBAAqB,uDAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,sDAAsD,2DAAQ;AAC9D;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oDAAG;AAC3B;AACA;AACA;AACA,iCAAiC,2DAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,+CAA+C,2DAAQ;AACvD;AACA;AACA;AACA,8CAA8C,2DAAQ;AACtD;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,2DAAQ;AACtD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;AC5LxB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXwB;AACN;AACM;AACK;AACX;AACI;AACC;AACM;AACY;AACX;AACX;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,yDAAM;AACzC;AACA;AACA;AACA,YAAY,mDAAI;AAChB;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,aAAa;AACb;AACA;AACA;AACA,YAAY,yDAAM;AAClB;AACA,uBAAuB,yDAAM;AAC7B;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,YAAY,8DAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,gBAAgB,mDAAI;AACpB;AACA;AACA,SAAS;AACT,QAAQ,mDAAI;AACZ;AACA,gBAAgB,uDAAM;AACtB,aAAa;AACb,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,YAAY,wDAAM;AAClB,SAAS;AACT;AACA,YAAY,wDAAM;AAClB,SAAS;AACT,QAAQ,wDAAM;AACd,YAAY,8DAAQ;AACpB;AACA,gBAAgB,0EAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,mBAAmB;AACxG,4BAA4B,mDAAI,YAAY,yDAAM,GAAG,yCAAyC,kBAAkB;AAChH;AACA,wDAAwD,+DAAU;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qDAAG;AACf;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;;ACvL+B;AACI;AACZ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc;AACd;AACA;AACA,QAAQ,2DAAQ;AAChB,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,+DAAU;AAClB,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oDAAO;AAClB;AACgB;;;;;;;;;;;;;;;;;;ACrD6B;AACE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,QAAQ,yDAAO;AACf;AACA,aAAa,2DAAQ;AACrB;AACA;AACA,aAAa,2DAAQ;AACrB;AACA;AACA,0BAA0B,UAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;ACtD6B;AACE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,QAAQ,yDAAO;AACf;AACA,aAAa,2DAAQ;AACrB;AACA;AACA,aAAa,2DAAQ;AACrB;AACA;AACA,0BAA0B,UAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;ACtDkD;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA,IAAI;AACJ;AACA;AACA,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc;AACd;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA,2CAA2C,+EAAiB;AAC5D;AACA;AACA;AACA,wCAAwC,oBAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;ACtCoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA,IAAI;AACJ;AACA;AACA,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc;AACd;AACA;AACA,gCAAgC;AAChC,WAAW,oDAAO;AAClB;AACoB;;;;;;;;;;;;;;;;;ACxBmB;AACvC;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,aAAa,QAAQ;AACrB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;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,iDAAiD;AACjD;AACA;AACA;AACA,qFAAqF;AACrF;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,8BAA8B,kBAAkB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,0CAA0C;AAC1C;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,8BAA8B,6DAA6D;AAC3F;AACA,eAAe,mDAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2B;;;;;;;;;;;;;;;;ACpN3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;AClByB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;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,SAAS,2DAAQ;AACjB;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,KAAK;AACL;AACiB;;;;;;;;;;;;;;;;ACzHjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc;AACd;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACxBnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;ACvBrB;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;ACZqB;AAC7C;AACA;AACA,IAAI,yDAAO;AACX;AACA,KAAK;AACL;AACqB;;;;;;;;;;;;;;;;;;;;ACP0B;AACA;AACY;AAChB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB,GAAG,qBAAqB;AACxE;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB,GAAG,qBAAqB;AACxE;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB,GAAG,qBAAqB;AACxE;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW,GAAG,qBAAqB;AAC9D;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA,0BAA0B;AAC1B,aAAa,4DAAW,gBAAgB,4DAAW;AACnD,yBAAyB,2DAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uEAAa;AAClC,qBAAqB,uEAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uDAAM;AAC1B;AACA,yBAAyB,uDAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;;;;;;;;;;;;;;;;;;AC9Ea;AACQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAA4B;AAClC,MAAM,kCAAkC;AACxC,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8BAA8B,uBAAuB;AAC3D,MAAM,yBAAyB;AAC/B,MAAM,6BAA6B,uBAAuB;AAC1D,MAAM,gCAAgC;AACtC;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA,IAAI,mDAAI;AACR,eAAe,4DAAW;AAC1B,KAAK;AACL;AACA;AACyB;;;;;;;;;;;;;;;;;ACxCY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iDAAiD;AAC7E;AACA;AACA;AACA;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACA,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB;AACA;AACA;AACA;AACA;AACA,QAAQ,kDAAM;AACd;AACA;AACA;AACA,QAAQ,kDAAM;AACd;AACA;AACsB;;;;;;;;;;;;;;;;;AC3CqC;AAC3D;AACA,iCAAiC;AACjC,WAAW,wEAAiB;AAC5B;AACsB;;;;;;;;;;;;;;;;;;;;ACLuB;AACE;AACR;AACM;AAC7C;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yDAAO;AAChB;AACA;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yDAAM;AAC9B,wBAAwB,yDAAM;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;ACrD8B;AAC3D;AACA,iCAAiC;AACjC,cAAc,wEAAiB;AAC/B;AACA;AACA;AACA;AACA;AAC2B;;;;;;;;;;;;;;;;;;ACTc;AACF;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qDAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mDAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;;;;;;;;;;;;;;;;;;;ACpCiB;AACE;AACV;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,QAAQ,yDAAO;AACf;AACA;AACA,SAAS;AACT;AACA,QAAQ,2DAAQ;AAChB;AACA,eAAe,kDAAM;AACrB;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;;;;;AChC4B;AACc;AAChB;AACI;AACJ;AAC3C;AACA;AACA;AACA,yDAAyD;AACzD;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,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAO,QAAQ,yDAAO;AACtC;AACA;AACA,mBAAmB,uEAAa,2BAA2B,uEAAa;AACxE;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA,mBAAmB,uEAAa,2BAA2B,uEAAa;AACxE;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA,mBAAmB,uEAAa,2BAA2B,uEAAa;AACxE;AACA;AACA;AACA;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA;AACA;AACA,gBAAgB,uDAAM,QAAQ,uDAAM;AACpC;AACA;AACA,mBAAmB,uEAAa,uBAAuB,uEAAa;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2DAAQ;AACxB,uBAAuB,uDAAM;AAC7B;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;;;ACrJ0B;AACN;AACA;AACQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,6DAA6D,6BAA6B;AAC1F;AACA,6DAA6D,6BAA6B;AAC1F;AACA,6DAA6D,WAAW;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,gDAAgD,yDAAO;AACvD;AACA;AACA;AACA,IAAI,mDAAI;AACR;AACA,4BAA4B,yDAAO;AACnC;AACA;AACA;AACA,yBAAyB,oDAAO,CAAC,4DAAW;AAC5C;AACA;AACA;AACA;AACA,oBAAoB,mDAAI,sBAAsB,0BAA0B;AACxE;AACA,sFAAsF;AACtF,oBAAoB,4DAAW;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AAC6B;;;;;;;;;;;;;;;;;ACrFQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,WAAW,kDAAM;AACjB;AACiB;;;;;;;;;;;;;;;;;AC5DjB,qBAAqB,SAAI,IAAI,SAAI;AACjC,6EAA6E,OAAO;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACqC;AACrC;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,QAAQ,8CAAM;AACd;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;;;ACrBa;AACE;AACM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,eAAe,kDAAM;AACrB;AACA;AACA;AACA,IAAI,mDAAI;AACR,YAAY,yDAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACoB;;;;;;;;;;;;;;;;;AC9E6B;AACjD;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA,IAAI,6DAAS;AACb,IAAI,6DAAS;AACb;AACA;AACsB;;;;;;;;;;;;;;;;;;;;;;ACZqB;AACM;AACE;AACN;AACJ;AACU;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,8BAA8B,uBAAuB;AAC5D,OAAO,6BAA6B;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe;AACf;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,uDAAM,YAAY,uDAAM;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,8DAAY;AAC3B,SAAS,+DAAU,WAAW,+DAAU;AACxC,YAAY,yDAAO,UAAU,yDAAO;AACpC;AACA;AACA,0BAA0B,8DAAY;AACtC;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,YAAY,qDAAK,UAAU,qDAAK;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+DAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+DAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,gEAAa;AACjD;AACmB;;;;;;;;;;;;;;;;;;;;ACzK0B;AACA;AACN;AACQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,qBAAqB;AAC3B,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB;AAC9B,MAAM;AACN;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,uBAAuB,oCAAoC;AAC3D,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA,MAAM;AACN;AACA,uBAAuB,yCAAyC;AAChE;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C,wBAAwB,yCAAyC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,uBAAuB,oCAAoC;AAC3D,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA,MAAM;AACN;AACA,uBAAuB,yCAAyC;AAChE;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C,wBAAwB,uDAAuD;AAC/E;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,QAAQ,yDAAO;AACf;AACA,oBAAoB,yDAAO;AAC3B,+BAA+B,yDAAO;AACtC,oBAAoB,mDAAI;AACxB;AACA;AACA,gCAAgC,yDAAO;AACvC,qCAAqC,yDAAO;AAC5C;AACA;AACA;AACA,sCAAsC,2DAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,yBAAyB,2DAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;ACjK6B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,yCAAyC,4BAA4B;AAC3E,qBAAqB,yCAAyC,SAAS,GAAG,mBAAmB,oBAAoB;AACjH;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,aAAa,2DAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;;;AC5CwB;AACN;AACsB;AACF;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA,sBAAsB,6BAA6B;AACnD;AACA,SAAS,mFAAmF;AAC5F,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iEAAiE;AAC1E,SAAS,iEAAiE;AAC1E;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,SAAS,yDAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mDAAI;AAChB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,kBAAkB,0EAAkB;AACpC;AACA,gBAAgB,mDAAI;AACpB,wBAAwB,wEAAiB;AACzC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;;;AC/F6B;AACF;AACA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,+BAA+B;AAC/B,SAAS,2DAAQ;AACjB;AACA;AACA,+BAA+B,yDAAO;AACtC;AACA,QAAQ,yDAAO;AACf,gBAAgB,2DAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;;;ACpEO;AACE;AACM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,kBAAkB,kDAAM;AACxB;AACA;AACA;AACA,IAAI,mDAAI;AACR,YAAY,yDAAO;AACnB;AACA;AACA,KAAK;AACL;AACA;AACmB;;;;;;;;;;;;;;;;;ACzEkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,mFAAmF;AAC1F,OAAO,iEAAiE;AACxE,OAAO,iEAAiE;AACxE,OAAO;AACP;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC,eAAe,0BAA0B;AACzC,eAAe,0BAA0B;AACzC,eAAe,0BAA0B;AACzC,eAAe,0BAA0B;AACzC,eAAe;AACf;AACA;AACA,2BAA2B;AAC3B,0BAA0B;AAC1B,+BAA+B;AAC/B;AACA,sBAAsB,kDAAM;AAC5B;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;;;ACvC6B;AACZ;AACE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA,sCAAsC,WAAW;AACjD;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc;AACd;AACA;AACA,IAAI,6DAAS;AACb;AACA,cAAc,kDAAM;AACpB;AACA;AACA,IAAI,mDAAI,qBAAqB,oEAAoE;AACjG;AACA;AAC0B;;;;;;;;;;;;;;;;;ACxCuB;AACjD;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA,IAAI,6DAAS;AACb,IAAI,6DAAS;AACb;AACA;AACmB;;;;;;;;;;;;;;;;ACZnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA,uBAAuB,UAAU,IAAI,cAAc;AACnD;AACA;AACA;AACA;AACA,uBAAuB,UAAU,IAAI,cAAc;AACnD;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACuB;;;;;;;;;;;;;;;;;AC9Cc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA,sBAAsB,6BAA6B;AACnD,OAAO,mFAAmF;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,OAAO,iEAAiE;AACxE;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,cAAc,kDAAM;AACpB;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;AClD2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe,0BAA0B;AACzC,eAAe,6BAA6B;AAC5C,eAAe,yBAAyB;AACxC;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE,oBAAoB,iDAAiD;AACrE,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc;AACd;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,uCAAuC,yDAAO;AAC9C;AACA;AACA;AACA,KAAK;AACL;AACe;;;;;;;;;;;;;;;;ACnFf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAA4B;AAClC,MAAM,kCAAkC;AACxC,MAAM;AACN;AACA;AACA,SAAS,4BAA4B;AACrC,SAAS,mCAAmC;AAC5C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;AC1CqC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAA4B;AAClC,MAAM,kCAAkC;AACxC,MAAM,mCAAmC;AACzC,MAAM,yBAAyB;AAC/B,MAAM,wCAAwC;AAC9C,MAAM;AACN;AACA;AACA,MAAM,2BAA2B;AACjC,MAAM;AACN;AACA;AACA,SAAS,kCAAkC;AAC3C,SAAS,wCAAwC;AACjD,SAAS,4BAA4B;AACrC,SAAS,mCAAmC;AAC5C,SAAS,yBAAyB;AAClC,SAAS;AACT;AACA,0BAA0B,2BAA2B;AACrD;AACA;AACA;AACA,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0BAA0B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,6BAA6B;AACvF;AACA,kBAAkB,iEAAc;AAChC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACsB;;;;;;;;;;;;;;;;;;;;ACrEuB;AACJ;AACE;AACN;AACrC;AACA,SAAS,yDAAO;AAChB;AACA;AACA,iDAAiD,QAAQ,qDAAI,gBAAgB;AAC7E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,qDAAI;AAC3B;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C,iCAAiC,uDAAM;AACvC;AACA,4BAA4B,kDAAM;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;AC3CvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iDAAiD;AAC3E;AACA;AACA;AACA;AACA,0BAA0B,qEAAqE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;ACnC4B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAA4B;AAClC,MAAM,kCAAkC;AACxC,MAAM;AACN;AACA;AACA,SAAS,kCAAkC;AAC3C,SAAS,4BAA4B;AACrC,SAAS;AACT;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,mBAAmB,iEAAc;AACjC,SAAS;AACT;AACA;AACA;AACiB;;;;;;;;;;;;;;;;ACpCjB;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;;ACLwB;AACE;AACI;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB,QAAQ;AACrD,QAAQ,qBAAqB;AAC7B;AACA;AACA,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;AACA,QAAQ,yDAAO;AACf,wBAAwB,gBAAgB;AACxC;AACA;AACA,oBAAoB,yDAAO;AAC3B;AACA;AACA;AACA;AACA,yBAAyB,2DAAQ;AACjC,wBAAwB,gEAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;AC9CsB;AAC7C;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,QAAQ;AACR;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,gBAAgB,yDAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;;;;;;ACzCsB;AACQ;AACE;AACd;AACI;AACJ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mFAAmF;AACzF,MAAM,iEAAiE;AACvE,MAAM,iEAAiE;AACvE,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,sBAAsB,6BAA6B;AACnD;AACA;AACA,sBAAsB,yCAAyC;AAC/D;AACA;AACA,sBAAsB,6BAA6B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,gCAAgC;AAChC,SAAS,+DAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wEAAiB,GAAG,UAAU,EAAE,0EAAkB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,YAAY,2DAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2DAAQ,YAAY,gEAAa;AAClD,YAAY,2DAAQ;AACpB;AACA;AACA;AACA,aAAa,2DAAQ;AACrB;AACA;AACA;AACA,oCAAoC,gBAAgB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,0EAAkB;AACvC,oCAAoC,gBAAgB;AACpD,oBAAoB,wEAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACnLlB;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA,+BAA+B;AAC/B,mCAAmC;AACnC;AACA;AACA;AACA;AACA,KAAK;AACL;AACmB;;;;;;;;;;;;;;;;;AClBoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA,uBAAuB,UAAU,IAAI,cAAc;AACnD;AACA;AACA;AACA;AACA,uBAAuB,UAAU,IAAI,cAAc;AACnD;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACuB;;;;;;;;;;;;;;;;;;;;ACjDY;AACI;AACQ;AACA;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B;AACA;AACA,0BAA0B;AAC1B,YAAY,gDAAK;AACjB,IAAI,mDAAI;AACR,YAAY,2DAAQ;AACpB,mBAAmB,2DAAO;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACsB;;;;;;;;;;;;;;;;ACxCtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;ACboB;AACF;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,sDAAsD;AAC5D,MAAM,kDAAkD;AACxD,MAAM,mDAAmD;AACzD,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA,OAAO,gDAAgD;AACvD,OAAO,6CAA6C;AACpD,OAAO,4CAA4C;AACnD,OAAO;AACP;AACA;AACA;AACA;AACA,gDAAgD,YAAY;AAC5D;AACA;AACA;AACA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC;AACA;AACA;AACA,IAAI,mDAAI,CAAC,kDAAM;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACe;;;;;;;;;;;;;;;;ACxDf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK;AACL;AACkB;;;;;;;;;;;;;;;;;;ACrB6B;AACV;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,gBAAgB,2DAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kDAAM;AACzB,mBAAmB,kDAAM;AACzB;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;ACtCyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,WAAW,0DAAU,iBAAiB,0DAAU,gBAAgB,0DAAU;AAC1E;AACiB;;;;;;;;;;;;;;;;ACrBjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACsB;;;;;;;;;;;;;;;;ACzBtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACoB;;;;;;;;;;;;;;;;AC1BpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,8BAA8B,EAAE,kBAAkB,yBAAyB;AAC3E;AACuB;;;;;;;;;;;;;;;;ACnBvB;AACA;AACA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA,6BAA6B;AAC7B;AACiB;;;;;;;;;;;;;;;;;;ACnB8B;AACV;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,QAAQ,2DAAQ;AAChB,eAAe,kDAAM;AACrB,mBAAmB,kDAAM;AACzB;AACA;AACA;AACA,mBAAmB,kDAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;AChC4B;AAC/C;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;ACPzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,mCAAmC,EAAE;AACrC;AACwB;;;;;;;;;;;;;;;;;ACpBuB;AAC/C;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;;ACPsB;AAC/C;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;;;;ACPgB;AACA;AACE;AACM;AAC/C;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mDAAI,CAAC,oDAAO;AAChB;AACA,KAAK;AACL,eAAe,sDAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2DAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;AC9C0B;AAC/C;AACA;AACA;AACA,4CAA4C;AAC5C;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,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB,2DAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;AC9C8B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,6DAAS;AACrB;AACA,SAAS;AACT;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACblB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;;ACpBwB;AACA;AAC/C;AACA,QAAQ,2DAAQ;AAChB;AACA;AACA,QAAQ,2DAAQ;AAChB;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;;;ACXmB;AACF;AAC0B;AACpB;AAC7C;AACA;AACA,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qDAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mDAAI;AACzB;AACA;AACA;AACA;AACA,uDAAuD,6EAAgB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0DAAU;AACrB;AACgB;;;;;;;;;;;;;;;;ACvChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;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,oBAAoB,eAAe;AACnC;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;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;AACA;AACA;AACA;AACA;AACe;;;;;;;;;;;;;;;;;AC7I8B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,WAAW,0DAAU;AACrB;AACiB;;;;;;;;;;;;;;;;ACnBjB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,4BAA4B,MAAM;AAClC;AACA,KAAK;AACL;AACkB;;;;;;;;;;;;;;;;;ACd2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;AACA,kBAAkB,UAAU,QAAQ;AACpC;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA,aAAa,0DAAU,YAAY;AACnC;AACA;AACA,aAAa,0DAAU,aAAa;AACpC;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;ACtC0B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,6DAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,6DAAS;AAC1B;AACA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;;ACvEuB;AACP;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACA,YAAY,oDAAG;AACf;AACA;AACA;AACA;AACA;AACyB;;;;;;;;;;;;;;;;AC7BzB;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;;;;;;ACRkB;AAC/C;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AAC8B;;;;;;;;;;;;;;;;;ACPO;AACrC;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAM;AACrB,iBAAiB,kDAAM;AACvB;AACA,eAAe,kDAAM;AACrB,iBAAiB,kDAAM;AACvB;AACA;AACA;AACA;AAC+B;;;;;;;;;;;;;;;;ACxB/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;;ACjB6B;AACE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,eAAe;AAC7B,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,iBAAiB,2DAAQ,2BAA2B,8DAAY;AAChE;AACsB;;;;;;;;;;;;;;;;;;AC7B6B;AAClB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA,gCAAgC;AAChC,+BAA+B,KAAK;AACpC;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gEAAa;AAC3B;AACA;AACA,WAAW,8CAAI;AACf;AACoB;;;;;;;;;;;;;;;;;;AClC2B;AACV;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,2DAAQ;AAC1C;AACA;AACA;AACA,iBAAiB,kDAAM;AACvB;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;ACzC4B;AACA;AAC/C;AACA,gBAAgB,4DAAW;AAC3B,gBAAgB,4DAAW;AAC3B;AACA;AACsB;;;;;;;;;;;;;;;;ACPtB;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACuB;;;;;;;;;;;;;;;;ACTvB;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;;;ACTwB;AACN;AACD;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA,SAAS,2DAAQ,UAAU,qDAAK;AAChC,QAAQ,oDAAG;AACX;AACA;AACA;AACA;AACA;AACA,SAAS,qDAAK;AACd;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;ACrCmB;AACrC;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,kDAAM;AACpB;AACA;AACA,cAAc,kDAAM;AACpB;AACA;AACA;AACgB;;;;;;;;;;;;;;;;;;;ACpB6B;AACN;AACR;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,aAAa;AACnD;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mDAAI;AACpB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA,WAAW,4CAAG;AACd;AACsB;;;;;;;;;;;;;;;;;;ACvDqC;AACd;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,QAAQ,uEAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yDAAO;AACf;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,8BAA8B;AAC9B;AACA;AACA,mBAAmB;AACnB;AACA,mBAAmB;AACnB;AACA,mBAAmB;AACnB;AACA,mBAAmB;AACnB,SAAS;AACT;AACA;AACqB;;;;;;;;;;;;;;;;;;AC3E0B;AACF;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA,QAAQ,2DAAQ;AAChB,QAAQ,yDAAO;AACf;AACA,SAAS;AACT;AACA;AACoB;;;;;;;;;;;;;;;;ACnBpB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc;AACd;AACA;AACA;AACA;AACA,gDAAgD;AAChD,iCAAiC;AACjC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,KAAK;AACL;AACsB;;;;;;;;;;;;;;;;AC9BtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,WAAW,UAAU;AAC1D;AACA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;ACvClB,WAAW,MAAM;AACwC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mBAAmB;AAChD;AACA,2CAA2C,qEAAY,WAAW;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;ACvCrB;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;ACXrB;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;;;;;;;;;;;;;;;;ACxB5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;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;AAC4B;;;;;;;;;;;;;;;;;AC5CmB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,UAAU,2DAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;AClBwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,UAAU,2DAAQ;AAClB;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;ACfqB;AACJ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,wDAAS;AAC3C;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACrClB;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;;;;;;ACbkB;AACA;AACM;AACJ;AACc;AACX;AACJ;AACxC;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA,SAAS,oDAAO;AAChB;AACA;AACA;AACA,IAAI,mDAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sDAAQ,QAAQ,0DAAU,eAAe,mEAAW;AACtE,YAAY,wDAAK;AACjB;AACA,+BAA+B,mEAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,QAAQ,oDAAG;AACX;AACA,YAAY,oDAAG;AACf;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC/DrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;AC3BnB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;ACtBlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,yBAAyB;AACzB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC7BrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;;AC7BqB;AACzC;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,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,sCAAsC,EAAE,WAAW,EAAE,eAAe,IAAI,aAAa,IAAI,aAAa,IAAI,qBAAqB,IAAI,aAAa,IAAI,aAAa,IAAI,aAAa,IAAI;AACtL,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACjDnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;AC3Bc;AACnC;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA,oBAAoB,gDAAK;AACzB;AACA;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;ACtBhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;;ACjCuC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA,aAAa,sEAAgB;AAC7B;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;AC5BvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;AC3BwB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,uEAAuE,IAAI;AAC3E,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;;;ACzCoB;AACoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,GAAG;AACjB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAO;AACf;AACA;AACA;AACA,YAAY,uEAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACxDnB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACtBnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;;AC7BmB;AACR;AACjC;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA,aAAa,8CAAI;AACjB;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;;ACpBmB;AACzC;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA;AACA;AACA;AACgB;;;;;;;;;;;;;;;;AChBhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;AC/BjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;;;;;;;;;;;;;;;;AC3CtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;AC3BlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;AClCpB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;AChCpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;AC3BrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;AC/BvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;AC/BkB;AACvC;AACA;AACA,IAAI,mDAAI;AACR;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACsB;;;;;;;;;;;;;;;;ACXtB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA,gCAAgC,EAAE;AAClC;AACA;AACA;AACA;AACA;AACqB;;;;;;;;;;;;;;;;;;;ACxBoB;AACF;AACsB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,8BAA8B;AACrC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,6DAA6D;AACpE,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,2CAA2C;AAClD,OAAO;AACP;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qDAAI,WAAW,qDAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAI;AACZ;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,mBAAmB,yEAAe;AAClC,mBAAmB,yEAAe;AAClC;AACA;AACA;AACA;AACkB;;;;;;;;;;;;;;;;AC7ElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;AC3BpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACoB;;;;;;;;;;;;;;;;AC5BpB;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;;;ACfwB;AACI;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,qCAAqC,sDAAQ,CAAC,yDAAM;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;;;;;;;;;;;;;;;;;ACvBa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa;AACb;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,aAAa,sDAAQ;AACrB;AACA;AACA;AACA;AACA;AACuB;;;;;;;;;;;;;;;;;AC1Cc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,sCAAsC,kDAAM;AAC5C;AACA;AACA;AACA;AACA;AACmB;;;;;;;;;;;;;;;;ACxCnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,oBAAoB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,oBAAoB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;;;;;;;;;;;;;;;;AChDjB;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;AACe;;;;;;;;;;;;;;;;AC1Bf;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,KAAK;AACL;AACA;AACA;AACA;AACA,0DAA0D,GAAG;AAC7D,mBAAmB,IAAI,KAAK,EAAE,IAAI,IAAI;AACtC;AACA,mBAAmB;AACnB;AACA,+BAA+B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE;AAC3E,qCAAqC,KAAK,6BAA6B,KAAK;AAC5E;AACA;AACgB;;;;;;;;;;;;;;;;;;;;AC9DgB;AACI;AACF;AACa;;AAE/C;AACA,QAAQ,gDAAW;AACnB,OAAO,+CAAU;AACjB;;AAEA,iDAAK;AACL;AACA;AACA,yCAAyC,MAAM;AAC/C,MAAM;AACN;AACA;AACA,8CAA8C,MAAM;AACpD;AACA,CAAC;;AAED,sCAAsC,OAAO;;AAE7C,sCAAsC,iDAAK;;AAE3C,iEAAe;AACf;AACA,eAAe,iDAAK;;AAEpB,WAAW,QAAQ;AACnB;AACA;;AAEA;;AAEA,oBAAoB,YAAY;AAChC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,oBAAoB,2DAAU,qBAAqB,GAAG;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC,IAAI;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,2DAAU;AAC1B;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5EY;;AAEqB;AACO;AACK;AACE;AACK;AACS;AACC;AAChB;AACQ;AACC;AACZ;AACO;AACC;;AAEpD;AACA;AACA,uBAAuB,mEAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,iEAAe;AACf;AACA;AACA,2BAA2B,6DAAY;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,QAAQ,iDAAK;AACb,UAAU,0DAAQ,yBAAyB,0DAAQ;AACnD,8CAA8C;AAC9C,QAAQ;AACR,8DAA8D;AAC9D,QAAQ,QAAQ,iDAAK;AACrB;AACA,sFAAsF;AACtF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,kEAAa;;AAElC,8CAA8C,gEAAQ;;AAEtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;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,iBAAi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AACN;AACR;AACI;AACC;AACH;;AAE7C,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;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;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;;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;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;;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;;;;;;;;;;;;;;;;;ACxMR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnGb;;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;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H;;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;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACda;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;;AAEA,yCAAyC;AACzC,OAAO;;AAEP;AACA,4DAA4D,wBAAwB;AACpF;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B,cAAc;AAC5C;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;;ACnDM;;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;AACA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf;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;;;;;;;;;;;;;;;;AC3FjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACda;;AAEqB;;AAElC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;;ACba;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB,SAAS;AACzB;AACA;AACA,sBAAsB,iDAAK;AAC3B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;AClEP;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEqB;;AAElC;AACA;AACA,0BAA0B,iDAAK;AAC/B;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACtDW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;ACLa;;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;AA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A;AACA,gBAAgB,2DAAU,0BAA0B,2DAAU;AAC9D;AACA;AACA;;AAEA,iEAAe;AACf;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;AC1FU;;AAEZ,iEAAe,yCAAyC;;;;;;;;;;;;;;;;ACF3C;;AAEb,iEAAe,iDAAiD,EAAC;;;;;;;;;;;;;;;;;ACFpD;;AAE+D;AAC5E,iEAAe,2DAA2D,wEAAoB,EAAC;;;;;;;;;;;;;;;;;;;ACHrC;AACd;AACR;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD,iEAAe;AACf;AACA;AACA,mBAAmB;AACnB,YAAY;AACZ,QAAQ;AACR,GAAG;AACH;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;;AC/DW;;AAEwB;;AAErC;;AAEA,OAAO,UAAU;AACjB,OAAO,gBAAgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;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;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;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;;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;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;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,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;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,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;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,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;;;AAGA;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;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;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;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;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,CAAC,EAAC;;;;;;;UCltBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN0B;AACA;AACsB;AACE;AACF;AACE;AACE;AACN;AACM;AACU;AAClB;AACc;AACF;AACR;AACQ;AAClB;AACQ;AACM;AACpD,yCAAY,CAAC,qDAAQ;AACrB,yCAAY,CAAC,sDAAS;AACtB,yCAAY,CAAC,qDAAQ;AACrB,yCAAY,CAAC,sDAAS;AACtB,yCAAY,CAAC,uDAAU;AACvB,yCAAY,CAAC,oDAAO;AACpB,yCAAY,CAAC,uDAAU;AACvB,yCAAY,CAAC,4DAAe;AAC5B,yCAAY,CAAC,mDAAM;AACnB,yCAAY,CAAC,2DAAa;AAC1B,yCAAY,CAAC,0DAAY;AACzB,yCAAY,CAAC,sDAAQ;AACrB,yCAAY,CAAC,0DAAY;AACzB,yCAAY,CAAC,iDAAG;AAChB,yCAAY,CAAC,qDAAO;AACpB,yCAAY,CAAC,wDAAU;AACI;AACA;AACI;AACE;AACF;AACF;AACA;AAC7B;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW;AACX,OAAO,mCAAC;AACR,OAAO,qCAAC;AACR,SAAS,yCAAG;AACZ,SAAS,2CAAI;AACb,SAAS,yCAAG;AACZ,QAAQ,uCAAE;AACV,QAAQ,uCAAE;AACV;AACA;AACA,mBAAmB,8CAAK;AACxB,mBAAmB,kCAAK;AACxB;AACA;AAC6C","sources":["webpack://bbn.axios.dayjs/./node_modules/dayjs/dayjs.min.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/calendar.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/dayOfYear.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/duration.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/isBetween.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/isLeapYear.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/isoWeek.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/localeData.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/localizedFormat.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/minMax.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/quarterOfYear.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/relativeTime.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/timezone.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/updateLocale.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/utc.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/weekOfYear.js","webpack://bbn.axios.dayjs/./node_modules/dayjs/plugin/weekday.js","webpack://bbn.axios.dayjs/./dist/$.js","webpack://bbn.axios.dayjs/./dist/_.js","webpack://bbn.axios.dayjs/./dist/db.js","webpack://bbn.axios.dayjs/./dist/env.js","webpack://bbn.axios.dayjs/./dist/fn.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/_addLoader.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/_deleteLoader.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/abort.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/abortURL.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/ajax.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/callback.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/download.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/downloadContent.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/getLoader.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/getRequestId.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/link.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/post.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/postOut.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/setNavigationVars.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/treatAjaxArguments.js","webpack://bbn.axios.dayjs/./dist/fn/ajax/upload.js","webpack://bbn.axios.dayjs/./dist/fn/browser/copy.js","webpack://bbn.axios.dayjs/./dist/fn/browser/eraseCookie.js","webpack://bbn.axios.dayjs/./dist/fn/browser/error.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getBrowserName.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getBrowserVersion.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getCookie.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getDeviceType.js","webpack://bbn.axios.dayjs/./dist/fn/browser/getEventData.js","webpack://bbn.axios.dayjs/./dist/fn/browser/happy.js","webpack://bbn.axios.dayjs/./dist/fn/browser/history.js","webpack://bbn.axios.dayjs/./dist/fn/browser/info.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isActiveInterface.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isDesktopDevice.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isFocused.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isMobile.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isMobileDevice.js","webpack://bbn.axios.dayjs/./dist/fn/browser/isTabletDevice.js","webpack://bbn.axios.dayjs/./dist/fn/browser/log.js","webpack://bbn.axios.dayjs/./dist/fn/browser/replaceSelection.js","webpack://bbn.axios.dayjs/./dist/fn/browser/selectElementText.js","webpack://bbn.axios.dayjs/./dist/fn/browser/setCookie.js","webpack://bbn.axios.dayjs/./dist/fn/browser/toggleFullScreen.js","webpack://bbn.axios.dayjs/./dist/fn/browser/warning.js","webpack://bbn.axios.dayjs/./dist/fn/convert/arrayBuffer2String.js","webpack://bbn.axios.dayjs/./dist/fn/convert/canvasToImage.js","webpack://bbn.axios.dayjs/./dist/fn/convert/colorToHex.js","webpack://bbn.axios.dayjs/./dist/fn/convert/fromXml.js","webpack://bbn.axios.dayjs/./dist/fn/convert/hex2rgb.js","webpack://bbn.axios.dayjs/./dist/fn/convert/imageToCanvas.js","webpack://bbn.axios.dayjs/./dist/fn/convert/imgToBase64.js","webpack://bbn.axios.dayjs/./dist/fn/convert/rgb2hex.js","webpack://bbn.axios.dayjs/./dist/fn/convert/string2ArrayBuffer.js","webpack://bbn.axios.dayjs/./dist/fn/convert/toCSV.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/calendar.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/chrono.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/date.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/dateSQL.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/daysInMonth.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/fdate.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/fdatetime.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/formatDate.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/ftime.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/getDay.js","webpack://bbn.axios.dayjs/./dist/fn/datetime/timestamp.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultAjaxAbortFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultAjaxErrorFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultAlertFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultConfirmFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultEndLoadingFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultErrorFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultHistoryFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultLinkFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultPostLinkFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultPreLinkFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultResizeFunction.js","webpack://bbn.axios.dayjs/./dist/fn/default/defaultStartLoadingFunction.js","webpack://bbn.axios.dayjs/./dist/fn/form/addInputs.js","webpack://bbn.axios.dayjs/./dist/fn/form/fieldValue.js","webpack://bbn.axios.dayjs/./dist/fn/form/formdata.js","webpack://bbn.axios.dayjs/./dist/fn/form/objectToFormData.js","webpack://bbn.axios.dayjs/./dist/fn/form/submit.js","webpack://bbn.axios.dayjs/./dist/fn/html/adjustHeight.js","webpack://bbn.axios.dayjs/./dist/fn/html/adjustSize.js","webpack://bbn.axios.dayjs/./dist/fn/html/adjustWidth.js","webpack://bbn.axios.dayjs/./dist/fn/html/getAllTags.js","webpack://bbn.axios.dayjs/./dist/fn/html/getAncestors.js","webpack://bbn.axios.dayjs/./dist/fn/html/getAttributes.js","webpack://bbn.axios.dayjs/./dist/fn/html/getHTMLOfSelection.js","webpack://bbn.axios.dayjs/./dist/fn/html/getHtml.js","webpack://bbn.axios.dayjs/./dist/fn/html/getPath.js","webpack://bbn.axios.dayjs/./dist/fn/html/getText.js","webpack://bbn.axios.dayjs/./dist/fn/html/html2text.js","webpack://bbn.axios.dayjs/./dist/fn/html/isInViewport.js","webpack://bbn.axios.dayjs/./dist/fn/html/isInside.js","webpack://bbn.axios.dayjs/./dist/fn/html/makeReactive.js","webpack://bbn.axios.dayjs/./dist/fn/html/selector.js","webpack://bbn.axios.dayjs/./dist/fn/init.js","webpack://bbn.axios.dayjs/./dist/fn/loop/each.js","webpack://bbn.axios.dayjs/./dist/fn/loop/fori.js","webpack://bbn.axios.dayjs/./dist/fn/loop/forir.js","webpack://bbn.axios.dayjs/./dist/fn/loop/iterate.js","webpack://bbn.axios.dayjs/./dist/fn/loop/riterate.js","webpack://bbn.axios.dayjs/./dist/fn/misc/analyzeFunction.js","webpack://bbn.axios.dayjs/./dist/fn/misc/getTimeoff.js","webpack://bbn.axios.dayjs/./dist/fn/misc/money.js","webpack://bbn.axios.dayjs/./dist/fn/misc/percent.js","webpack://bbn.axios.dayjs/./dist/fn/misc/randomInt.js","webpack://bbn.axios.dayjs/./dist/fn/misc/roundDecimal.js","webpack://bbn.axios.dayjs/./dist/fn/misc/translate.js","webpack://bbn.axios.dayjs/./dist/fn/object/_compareValues.js","webpack://bbn.axios.dayjs/./dist/fn/object/arrayFromProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/autoExtend.js","webpack://bbn.axios.dayjs/./dist/fn/object/checkProps.js","webpack://bbn.axios.dayjs/./dist/fn/object/checkPropsDetails.js","webpack://bbn.axios.dayjs/./dist/fn/object/checkPropsOrDie.js","webpack://bbn.axios.dayjs/./dist/fn/object/circularReplacer.js","webpack://bbn.axios.dayjs/./dist/fn/object/clone.js","webpack://bbn.axios.dayjs/./dist/fn/object/compare.js","webpack://bbn.axios.dayjs/./dist/fn/object/compareConditions.js","webpack://bbn.axios.dayjs/./dist/fn/object/count.js","webpack://bbn.axios.dayjs/./dist/fn/object/createObject.js","webpack://bbn.axios.dayjs/./dist/fn/object/deepPath.js","webpack://bbn.axios.dayjs/./dist/fn/object/deleteProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/diffObj.js","webpack://bbn.axios.dayjs/./dist/fn/object/extend.js","webpack://bbn.axios.dayjs/./dist/fn/object/extendOut.js","webpack://bbn.axios.dayjs/./dist/fn/object/filter.js","webpack://bbn.axios.dayjs/./dist/fn/object/filterToConditions.js","webpack://bbn.axios.dayjs/./dist/fn/object/findAll.js","webpack://bbn.axios.dayjs/./dist/fn/object/getField.js","webpack://bbn.axios.dayjs/./dist/fn/object/getFieldValues.js","webpack://bbn.axios.dayjs/./dist/fn/object/getProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/getProperty.js","webpack://bbn.axios.dayjs/./dist/fn/object/getRow.js","webpack://bbn.axios.dayjs/./dist/fn/object/map.js","webpack://bbn.axios.dayjs/./dist/fn/object/move.js","webpack://bbn.axios.dayjs/./dist/fn/object/multiorder.js","webpack://bbn.axios.dayjs/./dist/fn/object/mutateArray.js","webpack://bbn.axios.dayjs/./dist/fn/object/numProperties.js","webpack://bbn.axios.dayjs/./dist/fn/object/order.js","webpack://bbn.axios.dayjs/./dist/fn/object/pickValue.js","webpack://bbn.axios.dayjs/./dist/fn/object/removeEmpty.js","webpack://bbn.axios.dayjs/./dist/fn/object/removePrivateProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/search.js","webpack://bbn.axios.dayjs/./dist/fn/object/setProp.js","webpack://bbn.axios.dayjs/./dist/fn/object/setProperty.js","webpack://bbn.axios.dayjs/./dist/fn/object/shortenObj.js","webpack://bbn.axios.dayjs/./dist/fn/object/shuffle.js","webpack://bbn.axios.dayjs/./dist/fn/object/sum.js","webpack://bbn.axios.dayjs/./dist/fn/object/unique.js","webpack://bbn.axios.dayjs/./dist/fn/string/baseName.js","webpack://bbn.axios.dayjs/./dist/fn/string/br2nl.js","webpack://bbn.axios.dayjs/./dist/fn/string/camelToCss.js","webpack://bbn.axios.dayjs/./dist/fn/string/camelize.js","webpack://bbn.axios.dayjs/./dist/fn/string/correctCase.js","webpack://bbn.axios.dayjs/./dist/fn/string/crc32.js","webpack://bbn.axios.dayjs/./dist/fn/string/dirName.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeDquotes.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeRegExp.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeSquotes.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeTicks.js","webpack://bbn.axios.dayjs/./dist/fn/string/escapeUrl.js","webpack://bbn.axios.dayjs/./dist/fn/string/fileExt.js","webpack://bbn.axios.dayjs/./dist/fn/string/format.js","webpack://bbn.axios.dayjs/./dist/fn/string/formatBytes.js","webpack://bbn.axios.dayjs/./dist/fn/string/formatSize.js","webpack://bbn.axios.dayjs/./dist/fn/string/hash.js","webpack://bbn.axios.dayjs/./dist/fn/string/md5.js","webpack://bbn.axios.dayjs/./dist/fn/string/nl2br.js","webpack://bbn.axios.dayjs/./dist/fn/string/printf.js","webpack://bbn.axios.dayjs/./dist/fn/string/quotes2html.js","webpack://bbn.axios.dayjs/./dist/fn/string/randomString.js","webpack://bbn.axios.dayjs/./dist/fn/string/removeAccents.js","webpack://bbn.axios.dayjs/./dist/fn/string/removeExtraSpaces.js","webpack://bbn.axios.dayjs/./dist/fn/string/removeHtmlComments.js","webpack://bbn.axios.dayjs/./dist/fn/string/removeTrailingChars.js","webpack://bbn.axios.dayjs/./dist/fn/string/repeat.js","webpack://bbn.axios.dayjs/./dist/fn/string/replaceAll.js","webpack://bbn.axios.dayjs/./dist/fn/string/sanitize.js","webpack://bbn.axios.dayjs/./dist/fn/string/shorten.js","webpack://bbn.axios.dayjs/./dist/fn/string/simpleHash.js","webpack://bbn.axios.dayjs/./dist/fn/string/simpleHash1.js","webpack://bbn.axios.dayjs/./dist/fn/string/simpleHash2.js","webpack://bbn.axios.dayjs/./dist/fn/string/substr.js","webpack://bbn.axios.dayjs/./dist/fn/string/trim.js","webpack://bbn.axios.dayjs/./dist/fn/string/uniqString.js","webpack://bbn.axios.dayjs/./dist/fn/style/addColors.js","webpack://bbn.axios.dayjs/./dist/fn/style/addStyle.js","webpack://bbn.axios.dayjs/./dist/fn/style/animateCss.js","webpack://bbn.axios.dayjs/./dist/fn/style/center.js","webpack://bbn.axios.dayjs/./dist/fn/style/cssExists.js","webpack://bbn.axios.dayjs/./dist/fn/style/getCssVar.js","webpack://bbn.axios.dayjs/./dist/fn/style/getScrollBarSize.js","webpack://bbn.axios.dayjs/./dist/fn/style/lightenDarkenHex.js","webpack://bbn.axios.dayjs/./dist/fn/style/outerHeight.js","webpack://bbn.axios.dayjs/./dist/fn/style/outerWidth.js","webpack://bbn.axios.dayjs/./dist/fn/style/resize.js","webpack://bbn.axios.dayjs/./dist/fn/style/setCssVar.js","webpack://bbn.axios.dayjs/./dist/fn/type/checkType.js","webpack://bbn.axios.dayjs/./dist/fn/type/isArray.js","webpack://bbn.axios.dayjs/./dist/fn/type/isBlob.js","webpack://bbn.axios.dayjs/./dist/fn/type/isBoolean.js","webpack://bbn.axios.dayjs/./dist/fn/type/isCanvas.js","webpack://bbn.axios.dayjs/./dist/fn/type/isColor.js","webpack://bbn.axios.dayjs/./dist/fn/type/isComment.js","webpack://bbn.axios.dayjs/./dist/fn/type/isCp.js","webpack://bbn.axios.dayjs/./dist/fn/type/isDate.js","webpack://bbn.axios.dayjs/./dist/fn/type/isDimension.js","webpack://bbn.axios.dayjs/./dist/fn/type/isDom.js","webpack://bbn.axios.dayjs/./dist/fn/type/isEmail.js","webpack://bbn.axios.dayjs/./dist/fn/type/isEmpty.js","webpack://bbn.axios.dayjs/./dist/fn/type/isEvent.js","webpack://bbn.axios.dayjs/./dist/fn/type/isFunction.js","webpack://bbn.axios.dayjs/./dist/fn/type/isHostname.js","webpack://bbn.axios.dayjs/./dist/fn/type/isIP.js","webpack://bbn.axios.dayjs/./dist/fn/type/isInt.js","webpack://bbn.axios.dayjs/./dist/fn/type/isIterable.js","webpack://bbn.axios.dayjs/./dist/fn/type/isNull.js","webpack://bbn.axios.dayjs/./dist/fn/type/isNumber.js","webpack://bbn.axios.dayjs/./dist/fn/type/isObject.js","webpack://bbn.axios.dayjs/./dist/fn/type/isPercent.js","webpack://bbn.axios.dayjs/./dist/fn/type/isPrimitive.js","webpack://bbn.axios.dayjs/./dist/fn/type/isPromise.js","webpack://bbn.axios.dayjs/./dist/fn/type/isPropSize.js","webpack://bbn.axios.dayjs/./dist/fn/type/isSQLDate.js","webpack://bbn.axios.dayjs/./dist/fn/type/isSame.js","webpack://bbn.axios.dayjs/./dist/fn/type/isString.js","webpack://bbn.axios.dayjs/./dist/fn/type/isSymbol.js","webpack://bbn.axios.dayjs/./dist/fn/type/isURL.js","webpack://bbn.axios.dayjs/./dist/fn/type/isValidDimension.js","webpack://bbn.axios.dayjs/./dist/fn/type/isValidName.js","webpack://bbn.axios.dayjs/./dist/fn/type/isValue.js","webpack://bbn.axios.dayjs/./dist/fn/type/isVue.js","webpack://bbn.axios.dayjs/./dist/lng.js","webpack://bbn.axios.dayjs/./dist/vars.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/adapters/adapters.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/adapters/xhr.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/axios.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/cancel/CancelToken.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/cancel/CanceledError.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/cancel/isCancel.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/Axios.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/AxiosError.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/InterceptorManager.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/buildFullPath.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/dispatchRequest.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/mergeConfig.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/settle.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/core/transformData.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/defaults/index.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/defaults/transitional.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/env/data.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/bind.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/buildURL.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/combineURLs.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/cookies.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/null.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/speedometer.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/spread.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/toFormData.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/helpers/validator.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/platform/browser/index.js","webpack://bbn.axios.dayjs/./node_modules/axios/lib/utils.js","webpack://bbn.axios.dayjs/webpack/bootstrap","webpack://bbn.axios.dayjs/webpack/runtime/define property getters","webpack://bbn.axios.dayjs/webpack/runtime/hasOwnProperty shorthand","webpack://bbn.axios.dayjs/webpack/runtime/make namespace object","webpack://bbn.axios.dayjs/./dist/index.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_calendar=t()}(this,(function(){\"use strict\";return function(e,t,a){var n=\"h:mm A\",d={lastDay:\"[Yesterday at] \"+n,sameDay:\"[Today at] \"+n,nextDay:\"[Tomorrow at] \"+n,nextWeek:\"dddd [at] \"+n,lastWeek:\"[Last] dddd [at] \"+n,sameElse:\"MM/DD/YYYY\"};t.prototype.calendar=function(e,t){var n=t||this.$locale().calendar||d,o=a(e||void 0).startOf(\"d\"),s=this.diff(o,\"d\",!0),i=\"sameElse\",f=s<-6?i:s<-1?\"lastWeek\":s<0?\"lastDay\":s<1?\"sameDay\":s<2?\"nextDay\":s<7?\"nextWeek\":i,l=n[f]||d[f];return\"function\"==typeof l?l.call(this,a()):this.format(l)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_dayOfYear=t()}(this,(function(){\"use strict\";return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf(\"day\")-n(this).startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"day\")}}}));","!function(t,s){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=s():\"function\"==typeof define&&define.amd?define(s):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_duration=s()}(this,(function(){\"use strict\";var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,d=2628e6,a=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h={years:u,months:d,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t){return t instanceof g},f=function(t,s,n){return new g(t,n,s.$l)},m=function(t){return s.p(t)+\"s\"},l=function(t){return t<0},$=function(t){return l(t)?Math.ceil(t):Math.floor(t)},y=function(t){return Math.abs(t)},v=function(t,s){return t?l(t)?{negative:!0,format:\"\"+y(t)+s}:{negative:!1,format:\"\"+t+s}:{negative:!1,format:\"\"}},g=function(){function l(t,s,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),s)return f(t*h[m(s)],this);if(\"number\"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if(\"object\"==typeof t)return Object.keys(t).forEach((function(s){i.$d[m(s)]=t[s]})),this.calMilliseconds(),this;if(\"string\"==typeof t){var e=t.match(a);if(e){var r=e.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var y=l.prototype;return y.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(s,n){return s+(t.$d[n]||0)*h[n]}),0)},y.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=$(t/u),t%=u,this.$d.months=$(t/d),t%=d,this.$d.days=$(t/r),t%=r,this.$d.hours=$(t/e),t%=e,this.$d.minutes=$(t/i),t%=i,this.$d.seconds=$(t/n),t%=n,this.$d.milliseconds=t},y.toISOString=function(){var t=v(this.$d.years,\"Y\"),s=v(this.$d.months,\"M\"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=v(n,\"D\"),e=v(this.$d.hours,\"H\"),r=v(this.$d.minutes,\"M\"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3,o=Math.round(1e3*o)/1e3);var u=v(o,\"S\"),d=t.negative||s.negative||i.negative||e.negative||r.negative||u.negative,a=e.format||r.format||u.format?\"T\":\"\",h=(d?\"-\":\"\")+\"P\"+t.format+s.format+i.format+a+e.format+r.format+u.format;return\"P\"===h||\"-P\"===h?\"P0D\":h},y.toJSON=function(){return this.toISOString()},y.format=function(t){var n=t||\"YYYY-MM-DDTHH:mm:ss\",i={Y:this.$d.years,YY:s.s(this.$d.years,2,\"0\"),YYYY:s.s(this.$d.years,4,\"0\"),M:this.$d.months,MM:s.s(this.$d.months,2,\"0\"),D:this.$d.days,DD:s.s(this.$d.days,2,\"0\"),H:this.$d.hours,HH:s.s(this.$d.hours,2,\"0\"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,\"0\"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,\"0\"),SSS:s.s(this.$d.milliseconds,3,\"0\")};return n.replace(o,(function(t,s){return s||String(i[t])}))},y.as=function(t){return this.$ms/h[m(t)]},y.get=function(t){var s=this.$ms,n=m(t);return\"milliseconds\"===n?s%=1e3:s=\"weeks\"===n?$(s/h[n]):this.$d[n],s||0},y.add=function(t,s,n){var i;return i=s?t*h[m(s)]:c(t)?t.$ms:f(t,this).$ms,f(this.$ms+i*(n?-1:1),this)},y.subtract=function(t,s){return this.add(t,s,!0)},y.locale=function(t){var s=this.clone();return s.$l=t,s},y.clone=function(){return f(this.$ms,this)},y.humanize=function(s){return t().add(this.$ms,\"ms\").locale(this.$l).fromNow(!s)},y.valueOf=function(){return this.asMilliseconds()},y.milliseconds=function(){return this.get(\"milliseconds\")},y.asMilliseconds=function(){return this.as(\"milliseconds\")},y.seconds=function(){return this.get(\"seconds\")},y.asSeconds=function(){return this.as(\"seconds\")},y.minutes=function(){return this.get(\"minutes\")},y.asMinutes=function(){return this.as(\"minutes\")},y.hours=function(){return this.get(\"hours\")},y.asHours=function(){return this.as(\"hours\")},y.days=function(){return this.get(\"days\")},y.asDays=function(){return this.as(\"days\")},y.weeks=function(){return this.get(\"weeks\")},y.asWeeks=function(){return this.as(\"weeks\")},y.months=function(){return this.get(\"months\")},y.asMonths=function(){return this.as(\"months\")},y.years=function(){return this.get(\"years\")},y.asYears=function(){return this.as(\"years\")},l}(),p=function(t,s,n){return t.add(s.years()*n,\"y\").add(s.months()*n,\"M\").add(s.days()*n,\"d\").add(s.hours()*n,\"h\").add(s.minutes()*n,\"m\").add(s.seconds()*n,\"s\").add(s.milliseconds()*n,\"ms\")};return function(n,i,e){t=e,s=e().$utils(),e.duration=function(t,s){var n=e.locale();return f(t,{$l:n},s)},e.isDuration=c;var r=i.prototype.add,o=i.prototype.subtract;i.prototype.add=function(t,s){return c(t)?p(this,t,1):r.bind(this)(t,s)},i.prototype.subtract=function(t,s){return c(t)?p(this,t,-1):o.bind(this)(t,s)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_minMax=n()}(this,(function(){\"use strict\";return function(e,n,t){var i=function(e,n){if(!n||!n.length||1===n.length&&!n[0]||1===n.length&&Array.isArray(n[0])&&!n[0].length)return null;var t;1===n.length&&n[0].length>0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i<n.length;i+=1)n[i].isValid()&&!n[i][e](t)||(t=n[i]);return t};t.max=function(){var e=[].slice.call(arguments,0);return i(\"isAfter\",e)},t.min=function(){var e=[].slice.call(arguments,0);return i(\"isBefore\",e)}}}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(r=\"undefined\"!=typeof globalThis?globalThis:r||self).dayjs_plugin_relativeTime=e()}(this,(function(){\"use strict\";return function(r,e,t){r=r||{};var n=e.prototype,o={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:\"s\",r:44,d:\"second\"},{l:\"m\",r:89},{l:\"mm\",r:44,d:\"minute\"},{l:\"h\",r:89},{l:\"hh\",r:21,d:\"hour\"},{l:\"d\",r:35},{l:\"dd\",r:25,d:\"day\"},{l:\"M\",r:45},{l:\"MM\",r:10,d:\"month\"},{l:\"y\",r:17},{l:\"yy\",d:\"year\"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(f=d?t(e).diff(i,y.d,!0):i.diff(e,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(f));if(s=f>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i<t?i+7:i)-t;return this.$utils().u(e)?n:this.subtract(n,\"day\").add(e,\"day\")}}}));","var $ = function (selector, context) {\n if (context === null || context === void 0 ? void 0 : context.querySelectorAll) {\n return context.querySelectorAll(selector);\n }\n if (context) {\n throw new Error('Invalid context');\n }\n return document.body.querySelectorAll(selector);\n};\nexport { $ };\n","import { checkType } from './fn/type/checkType.js';\n/**\n * Translate an expression using the object bbn.lng\n *\n * @param {String} st\n * @returns {String}\n */\nvar _ = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var st = args.shift();\n var res = bbn.lng[st] || st;\n if (args.length) {\n var i_1 = 0;\n return res.replace(/\\%([d|s])/g, function (match, type) {\n var tmp = args[i_1++];\n if (!tmp) {\n tmp = type === 'd' ? 0 : '';\n }\n checkType(tmp, type === 'd' ? 'number' : 'string', bbn._(\"The value you gave did not correspond, check the loggg\"));\n return tmp;\n });\n }\n return res;\n};\nexport { _ };\n","import { _ } from './_.js';\nimport { each } from './fn/loop/each.js';\nimport { iterate } from './fn/loop/iterate.js';\nimport { log } from './fn/browser/log.js';\nvar idb = window['indexedDB'] || window['webkitIndexedDB'] || window['mozIndexedDB'] || window['OIndexedDB'] || window['msIndexedDB'];\nvar dbObject = function (dbName) {\n var _this = this;\n var conn = db._connections[dbName];\n var structure = db._structures[dbName];\n this.insert = function (table, data) {\n if (!Array.isArray(data)) {\n data = [data];\n }\n return new Promise(function (resolve) {\n var tx = conn.transaction(table, \"readwrite\");\n var store = tx.objectStore(table);\n var res = data.length;\n each(data, function (a) {\n var request = store.put(a);\n request.onerror = function () {\n log(request.error);\n res--;\n };\n });\n tx.onabort = function () {\n throw new Error(tx.error);\n };\n tx.oncomplete = function () {\n resolve(res);\n };\n });\n };\n this.update = function (table, data, where) {\n return new Promise(function (resolve) {\n var tx = conn.transaction(table, \"readwrite\");\n var store = tx.objectStore(table);\n var arch = structure[table];\n var primary = arch.keys.PRIMARY.columns.length > 1 ? arch.keys.PRIMARY.columns : arch.keys.PRIMARY.columns[0];\n if (!where[primary]) {\n throw new Error(_(\"No \"));\n }\n var res = 1;\n var request = store.put(data, where[primary]);\n request.onerror = function () {\n log(request.error);\n res--;\n };\n tx.onabort = function () {\n throw new Error(tx.error);\n };\n tx.oncomplete = function () {\n resolve(res);\n };\n });\n };\n this.delete = function (table, where) {\n return new Promise(function (resolve) {\n var tx = conn.transaction(table, \"readwrite\");\n var store = tx.objectStore(table);\n var arch = structure[table];\n var primary = arch.keys.PRIMARY.columns.length > 1 ? arch.keys.PRIMARY.columns : arch.keys.PRIMARY.columns[0];\n if (!where[primary]) {\n throw new Error(_(\"No \"));\n }\n var res = 1;\n var request = store.delete(where[primary]);\n request.onerror = function () {\n log(request.error);\n res--;\n };\n tx.onabort = function () {\n throw new Error(tx.error);\n };\n tx.oncomplete = function () {\n resolve(res);\n };\n });\n };\n this.selectOne = function (table, field, where, order, start, limit) {\n return new Promise(function (resolve) {\n _this.select(table, [field], where, order, start, limit).then(function (d) {\n var _a;\n resolve((_a = d[field]) !== null && _a !== void 0 ? _a : undefined);\n });\n });\n };\n this.select = function (table, fields, where, order, start, limit) {\n var tx = conn.transaction(table, \"readonly\");\n var store = tx.objectStore(table);\n var arch = structure[table];\n var primary = arch.keys.PRIMARY.columns.length > 1 ? arch.keys.PRIMARY.columns : arch.keys.PRIMARY.columns[0];\n if (!where[primary]) {\n throw new Error(_(\"No \"));\n }\n return new Promise(function (resolve) {\n var req = store.get(where[primary]);\n req.onsuccess = function () {\n var obj = req.result;\n if (fields.length) {\n var res_1 = {};\n iterate(obj, function (v, n) {\n if (fields.indexOf(n) > -1) {\n res_1[n] = v;\n }\n });\n return resolve(res_1);\n }\n else {\n resolve(obj);\n }\n };\n });\n };\n this.selectAll = function (table, fields, where, order, start, limit) {\n var tx = conn.transaction(table, \"read\");\n var store = tx.objectStore(table);\n var arch = structure[table];\n var primary = arch.keys.PRIMARY.columns.length > 1 ? arch.keys.PRIMARY.columns : arch.keys.PRIMARY.columns[0];\n if (!where[primary]) {\n throw new Error(_(\"No \"));\n }\n return new Promise(function (resolve) {\n var req = store.get(structure.keys.PRIMARY);\n });\n };\n this.getColumnValues = function (table, field, where, order, start, limit) {\n return new Promise(function (resolve) {\n var tx = conn.transaction(table, \"read\");\n var store = tx.objectStore(table);\n });\n };\n};\nvar db = {\n _structures: {},\n /* This variable should be set to true in debugging mode only */\n _connections: {},\n /* Address of the CDN (where this file should be hosted) */\n _stores: {},\n ok: idb !== undefined,\n open: function (name) {\n return new Promise(function (resolve) {\n if (!db._connections[name]) {\n if (!db._structures[name]) {\n throw new Error(_(\"Impossible to find a structure for the database %s\", name));\n }\n var conn_1 = idb.open(name);\n conn_1.onupgradeneeded = function () {\n log(\"UPGRADE NEEDED\");\n var res = conn_1.result;\n iterate(db._structures[name], function (structure, storeName) {\n var primary = structure.keys.PRIMARY.columns.length > 1 ? structure.keys.PRIMARY.columns : structure.keys.PRIMARY.columns[0];\n var store = res.createObjectStore(storeName, { keyPath: primary });\n iterate(structure.keys, function (a, n) {\n if (n !== 'PRIMARY') {\n store.createIndex(n, a.columns.length > 1 ? a.columns : a.columns[0], {\n unique: !!a.unique\n });\n }\n });\n });\n };\n conn_1.onsuccess = function () {\n db._connections[name] = conn_1.result;\n var obj = new dbObject(name);\n resolve(obj);\n };\n return;\n }\n resolve(new dbObject(db._connections[name]));\n });\n },\n add: function (database, name, structure) {\n var _a;\n if (((_a = structure === null || structure === void 0 ? void 0 : structure.keys) === null || _a === void 0 ? void 0 : _a.PRIMARY) && (structure === null || structure === void 0 ? void 0 : structure.fields)) {\n if (!db._structures[database]) {\n db._structures[database] = {};\n }\n db._structures[database][name] = structure;\n }\n else {\n throw new Error(_(\"The database structure for %s is not valid (are there keys and field? Is there a primary?\", name));\n }\n }\n};\nexport { db };\n","var env = {\n siteTitle: window.document.title,\n /* This variable should be set to true in debugging mode only */\n logging: false,\n /* Address of the CDN (where this file should be hosted) */\n cdn: '',\n /* Default language */\n lang: 'en',\n host: window.location.protocol + '//' + window.location.hostname,\n url: window.location.href,\n old_path: null,\n /* True when non asynchronous Ajax loads */\n loading: false,\n /* Window width */\n width: 0,\n /* Window height */\n height: 0,\n /* Element currently focused (Element object) */\n focused: false,\n /* Last time user has been active */\n last_focus: (new Date()).getTime(),\n /* Sleep mode (tab or window unfocused */\n sleep: false,\n theme: 'dark',\n /**\n * @var bbn.env.loaders Object where the props are MD5 of data and url while the values are the requests,\n * for preventing the same call to be made at the same time\n **/\n loaders: [],\n loadersHistory: [],\n maxLoadersHistory: 20,\n /* bbn.env.params is an array of each element of the path */\n resizeTimer: false,\n hashChanged: 0,\n params: [],\n isInit: false,\n isFocused: false,\n timeoff: Math.round((new Date()).getTime() / 1000),\n loggingLevel: 5,\n ignoreUnload: false,\n historyDisabled: false,\n nav: 'ajax'\n};\nexport { env };\n","import { _addLoader } from './fn/ajax/_addLoader.js';\nimport { _compareValues } from './fn/object/_compareValues.js';\nimport { _deleteLoader } from './fn/ajax/_deleteLoader.js';\nimport { abort } from './fn/ajax/abort.js';\nimport { abortURL } from './fn/ajax/abortURL.js';\nimport { addColors } from './fn/style/addColors.js';\nimport { addInputs } from './fn/form/addInputs.js';\nimport { addStyle } from './fn/style/addStyle.js';\nimport { adjustHeight } from './fn/html/adjustHeight.js';\nimport { adjustSize } from './fn/html/adjustSize.js';\nimport { adjustWidth } from './fn/html/adjustWidth.js';\nimport { ajax } from './fn/ajax/ajax.js';\nimport { analyzeFunction } from './fn/misc/analyzeFunction.js';\nimport { animateCss } from './fn/style/animateCss.js';\nimport { arrayBuffer2String } from './fn/convert/arrayBuffer2String.js';\nimport { arrayFromProp } from './fn/object/arrayFromProp.js';\nimport { autoExtend } from './fn/object/autoExtend.js';\nimport { baseName } from './fn/string/baseName.js';\nimport { br2nl } from './fn/string/br2nl.js';\nimport { calendar } from './fn/datetime/calendar.js';\nimport { callback } from './fn/ajax/callback.js';\nimport { camelize } from './fn/string/camelize.js';\nimport { camelToCss } from './fn/string/camelToCss.js';\nimport { canvasToImage } from './fn/convert/canvasToImage.js';\nimport { center } from './fn/style/center.js';\nimport { checkProps } from './fn/object/checkProps.js';\nimport { checkPropsDetails } from './fn/object/checkPropsDetails.js';\nimport { checkPropsOrDie } from './fn/object/checkPropsOrDie.js';\nimport { checkType } from './fn/type/checkType.js';\nimport { circularReplacer } from './fn/object/circularReplacer.js';\nimport { clone } from './fn/object/clone.js';\nimport { colorToHex } from './fn/convert/colorToHex.js';\nimport { compare } from './fn/object/compare.js';\nimport { compareConditions } from './fn/object/compareConditions.js';\nimport { copy } from './fn/browser/copy.js';\nimport { correctCase } from './fn/string/correctCase.js';\nimport { count } from './fn/object/count.js';\nimport { crc32 } from './fn/string/crc32.js';\nimport { createObject } from './fn/object/createObject.js';\nimport { cssExists } from './fn/style/cssExists.js';\nimport { date } from './fn/datetime/date.js';\nimport { dateSQL } from './fn/datetime/dateSQL.js';\nimport { daysInMonth } from './fn/datetime/daysInMonth.js';\nimport { deepPath } from './fn/object/deepPath.js';\nimport { defaultAjaxAbortFunction } from './fn/default/defaultAjaxAbortFunction.js';\nimport { defaultAjaxErrorFunction } from './fn/default/defaultAjaxErrorFunction.js';\nimport { defaultAlertFunction } from './fn/default/defaultAlertFunction.js';\nimport { defaultConfirmFunction } from './fn/default/defaultConfirmFunction.js';\nimport { defaultEndLoadingFunction } from './fn/default/defaultEndLoadingFunction.js';\nimport { defaultErrorFunction } from './fn/default/defaultErrorFunction.js';\nimport { defaultHistoryFunction } from './fn/default/defaultHistoryFunction.js';\nimport { defaultLinkFunction } from './fn/default/defaultLinkFunction.js';\nimport { defaultPostLinkFunction } from './fn/default/defaultPostLinkFunction.js';\nimport { defaultPreLinkFunction } from './fn/default/defaultPreLinkFunction.js';\nimport { defaultResizeFunction } from './fn/default/defaultResizeFunction.js';\nimport { defaultStartLoadingFunction } from './fn/default/defaultStartLoadingFunction.js';\nimport { deleteProp } from './fn/object/deleteProp.js';\nimport { diffObj } from './fn/object/diffObj.js';\nimport { dirName } from './fn/string/dirName.js';\nimport { download } from './fn/ajax/download.js';\nimport { downloadContent } from './fn/ajax/downloadContent.js';\nimport { each } from './fn/loop/each.js';\nimport { eraseCookie } from './fn/browser/eraseCookie.js';\nimport { error } from './fn/browser/error.js';\nimport { escapeDquotes } from './fn/string/escapeDquotes.js';\nimport { escapeRegExp } from './fn/string/escapeRegExp.js';\nimport { escapeSquotes } from './fn/string/escapeSquotes.js';\nimport { escapeTicks } from './fn/string/escapeTicks.js';\nimport { escapeUrl } from './fn/string/escapeUrl.js';\nimport { extend } from './fn/object/extend.js';\nimport { extendOut } from './fn/object/extendOut.js';\nimport { fdate } from './fn/datetime/fdate.js';\nimport { fdatetime } from './fn/datetime/fdatetime.js';\nimport { fieldValue } from './fn/form/fieldValue.js';\nimport { fileExt } from './fn/string/fileExt.js';\nimport { filter } from './fn/object/filter.js';\nimport { filterToConditions } from './fn/object/filterToConditions.js';\nimport { findAll } from './fn/object/findAll.js';\nimport { fori } from './fn/loop/fori.js';\nimport { forir } from './fn/loop/forir.js';\nimport { format } from './fn/string/format.js';\nimport { formatBytes } from './fn/string/formatBytes.js';\nimport { formatDate } from './fn/datetime/formatDate.js';\nimport { formatSize } from './fn/string/formatSize.js';\nimport { formdata } from './fn/form/formdata.js';\nimport { fromXml } from './fn/convert/fromXml.js';\nimport { ftime } from './fn/datetime/ftime.js';\nimport { getAllTags } from './fn/html/getAllTags.js';\nimport { getAncestors } from './fn/html/getAncestors.js';\nimport { getAttributes } from './fn/html/getAttributes.js';\nimport { getBrowserName } from './fn/browser/getBrowserName.js';\nimport { getBrowserVersion } from './fn/browser/getBrowserVersion.js';\nimport { getCookie } from './fn/browser/getCookie.js';\nimport { getCssVar } from './fn/style/getCssVar.js';\nimport { getDay } from './fn/datetime/getDay.js';\nimport { getDeviceType } from './fn/browser/getDeviceType.js';\nimport { getEventData } from './fn/browser/getEventData.js';\nimport { getField } from './fn/object/getField.js';\nimport { getFieldValues } from './fn/object/getFieldValues.js';\nimport { getHtml } from './fn/html/getHtml.js';\nimport { getHTMLOfSelection } from './fn/html/getHTMLOfSelection.js';\nimport { getLoader } from './fn/ajax/getLoader.js';\nimport { getPath } from './fn/html/getPath.js';\nimport { getProp } from './fn/object/getProp.js';\nimport { getProperty } from './fn/object/getProperty.js';\nimport { getRequestId } from './fn/ajax/getRequestId.js';\nimport { getRow } from './fn/object/getRow.js';\nimport { getScrollBarSize } from './fn/style/getScrollBarSize.js';\nimport { getText } from './fn/html/getText.js';\nimport { getTimeoff } from './fn/misc/getTimeoff.js';\nimport { happy } from './fn/browser/happy.js';\nimport { hash } from './fn/string/hash.js';\nimport { hex2rgb } from './fn/convert/hex2rgb.js';\nimport { history } from './fn/browser/history.js';\nimport { html2text } from './fn/html/html2text.js';\nimport { imageToCanvas } from './fn/convert/imageToCanvas.js';\nimport { imgToBase64 } from './fn/convert/imgToBase64.js';\nimport { info } from './fn/browser/info.js';\nimport { init } from './fn/init.js';\nimport { isActiveInterface } from './fn/browser/isActiveInterface.js';\nimport { isArray } from './fn/type/isArray.js';\nimport { isBlob } from './fn/type/isBlob.js';\nimport { isBoolean } from './fn/type/isBoolean.js';\nimport { isCanvas } from './fn/type/isCanvas.js';\nimport { isColor } from './fn/type/isColor.js';\nimport { isComment } from './fn/type/isComment.js';\nimport { isCp } from './fn/type/isCp.js';\nimport { isDate } from './fn/type/isDate.js';\nimport { isDesktopDevice } from './fn/browser/isDesktopDevice.js';\nimport { isDimension } from './fn/type/isDimension.js';\nimport { isDom } from './fn/type/isDom.js';\nimport { isEmail } from './fn/type/isEmail.js';\nimport { isEmpty } from './fn/type/isEmpty.js';\nimport { isEvent } from './fn/type/isEvent.js';\nimport { isFocused } from './fn/browser/isFocused.js';\nimport { isFunction } from './fn/type/isFunction.js';\nimport { isHostname } from './fn/type/isHostname.js';\nimport { isInside } from './fn/html/isInside.js';\nimport { isInt } from './fn/type/isInt.js';\nimport { isInViewport } from './fn/html/isInViewport.js';\nimport { isIP } from './fn/type/isIP.js';\nimport { isIterable } from './fn/type/isIterable.js';\nimport { isMobile } from './fn/browser/isMobile.js';\nimport { isMobileDevice } from './fn/browser/isMobileDevice.js';\nimport { isNull } from './fn/type/isNull.js';\nimport { isNumber } from './fn/type/isNumber.js';\nimport { isObject } from './fn/type/isObject.js';\nimport { isPercent } from './fn/type/isPercent.js';\nimport { isPrimitive } from './fn/type/isPrimitive.js';\nimport { isPromise } from './fn/type/isPromise.js';\nimport { isPropSize } from './fn/type/isPropSize.js';\nimport { isSame } from './fn/type/isSame.js';\nimport { isSQLDate } from './fn/type/isSQLDate.js';\nimport { isString } from './fn/type/isString.js';\nimport { isSymbol } from './fn/type/isSymbol.js';\nimport { isTabletDevice } from './fn/browser/isTabletDevice.js';\nimport { isURL } from './fn/type/isURL.js';\nimport { isValidDimension } from './fn/type/isValidDimension.js';\nimport { isValidName } from './fn/type/isValidName.js';\nimport { isValue } from './fn/type/isValue.js';\nimport { isVue } from './fn/type/isVue.js';\nimport { iterate } from './fn/loop/iterate.js';\nimport { lightenDarkenHex } from './fn/style/lightenDarkenHex.js';\nimport { link } from './fn/ajax/link.js';\nimport { log } from './fn/browser/log.js';\nimport { makeReactive } from './fn/html/makeReactive.js';\nimport { map } from './fn/object/map.js';\nimport { md5 } from './fn/string/md5.js';\nimport { money } from './fn/misc/money.js';\nimport { move } from './fn/object/move.js';\nimport { multiorder } from './fn/object/multiorder.js';\nimport { mutateArray } from './fn/object/mutateArray.js';\nimport { nl2br } from './fn/string/nl2br.js';\nimport { numProperties } from './fn/object/numProperties.js';\nimport { objectToFormData } from './fn/form/objectToFormData.js';\nimport { order } from './fn/object/order.js';\nimport { outerHeight } from './fn/style/outerHeight.js';\nimport { outerWidth } from './fn/style/outerWidth.js';\nimport { percent } from './fn/misc/percent.js';\nimport { pickValue } from './fn/object/pickValue.js';\nimport { post } from './fn/ajax/post.js';\nimport { postOut } from './fn/ajax/postOut.js';\nimport { printf } from './fn/string/printf.js';\nimport { quotes2html } from './fn/string/quotes2html.js';\nimport { randomInt } from './fn/misc/randomInt.js';\nimport { randomString } from './fn/string/randomString.js';\nimport { removeAccents } from './fn/string/removeAccents.js';\nimport { removeEmpty } from './fn/object/removeEmpty.js';\nimport { removeExtraSpaces } from './fn/string/removeExtraSpaces.js';\nimport { removeHtmlComments } from './fn/string/removeHtmlComments.js';\nimport { removePrivateProp } from './fn/object/removePrivateProp.js';\nimport { removeTrailingChars } from './fn/string/removeTrailingChars.js';\nimport { repeat } from './fn/string/repeat.js';\nimport { replaceAll } from './fn/string/replaceAll.js';\nimport { replaceSelection } from './fn/browser/replaceSelection.js';\nimport { resize } from './fn/style/resize.js';\nimport { rgb2hex } from './fn/convert/rgb2hex.js';\nimport { riterate } from './fn/loop/riterate.js';\nimport { roundDecimal } from './fn/misc/roundDecimal.js';\nimport { sanitize } from './fn/string/sanitize.js';\nimport { search } from './fn/object/search.js';\nimport { selectElementText } from './fn/browser/selectElementText.js';\nimport { selector } from './fn/html/selector.js';\nimport { setCookie } from './fn/browser/setCookie.js';\nimport { setCssVar } from './fn/style/setCssVar.js';\nimport { setNavigationVars } from './fn/ajax/setNavigationVars.js';\nimport { setProp } from './fn/object/setProp.js';\nimport { setProperty } from './fn/object/setProperty.js';\nimport { shorten } from './fn/string/shorten.js';\nimport { shortenObj } from './fn/object/shortenObj.js';\nimport { shuffle } from './fn/object/shuffle.js';\nimport { simpleHash } from './fn/string/simpleHash.js';\nimport { simpleHash1 } from './fn/string/simpleHash1.js';\nimport { simpleHash2 } from './fn/string/simpleHash2.js';\nimport { startChrono, stopChrono } from './fn/datetime/chrono.js';\nimport { string2ArrayBuffer } from './fn/convert/string2ArrayBuffer.js';\nimport { submit } from './fn/form/submit.js';\nimport { substr } from './fn/string/substr.js';\nimport { sum } from './fn/object/sum.js';\nimport { timestamp } from './fn/datetime/timestamp.js';\nimport { toCSV } from './fn/convert/toCSV.js';\nimport { toggleFullScreen } from './fn/browser/toggleFullScreen.js';\nimport { translate } from './fn/misc/translate.js';\nimport { treatAjaxArguments } from './fn/ajax/treatAjaxArguments.js';\nimport { trim } from './fn/string/trim.js';\nimport { uniqString } from './fn/string/uniqString.js';\nimport { unique } from './fn/object/unique.js';\nimport { upload } from './fn/ajax/upload.js';\nimport { warning } from './fn/browser/warning.js';\nvar fn = {\n _addLoader: _addLoader,\n _compareValues: _compareValues,\n _deleteLoader: _deleteLoader,\n abort: abort,\n abortURL: abortURL,\n addColors: addColors,\n addInputs: addInputs,\n addStyle: addStyle,\n adjustHeight: adjustHeight,\n adjustSize: adjustSize,\n adjustWidth: adjustWidth,\n ajax: ajax,\n analyzeFunction: analyzeFunction,\n animateCss: animateCss,\n arrayBuffer2String: arrayBuffer2String,\n arrayFromProp: arrayFromProp,\n autoExtend: autoExtend,\n baseName: baseName,\n br2nl: br2nl,\n calendar: calendar,\n callback: callback,\n camelize: camelize,\n camelToCss: camelToCss,\n canvasToImage: canvasToImage,\n center: center,\n checkProps: checkProps,\n checkPropsDetails: checkPropsDetails,\n checkPropsOrDie: checkPropsOrDie,\n checkType: checkType,\n circularReplacer: circularReplacer,\n clone: clone,\n colorToHex: colorToHex,\n compare: compare,\n compareConditions: compareConditions,\n copy: copy,\n correctCase: correctCase,\n count: count,\n crc32: crc32,\n createObject: createObject,\n cssExists: cssExists,\n date: date,\n dateSQL: dateSQL,\n daysInMonth: daysInMonth,\n deepPath: deepPath,\n defaultAjaxAbortFunction: defaultAjaxAbortFunction,\n defaultAjaxErrorFunction: defaultAjaxErrorFunction,\n defaultAlertFunction: defaultAlertFunction,\n defaultConfirmFunction: defaultConfirmFunction,\n defaultEndLoadingFunction: defaultEndLoadingFunction,\n defaultErrorFunction: defaultErrorFunction,\n defaultHistoryFunction: defaultHistoryFunction,\n defaultLinkFunction: defaultLinkFunction,\n defaultPostLinkFunction: defaultPostLinkFunction,\n defaultPreLinkFunction: defaultPreLinkFunction,\n defaultResizeFunction: defaultResizeFunction,\n defaultStartLoadingFunction: defaultStartLoadingFunction,\n deleteProp: deleteProp,\n diffObj: diffObj,\n dirName: dirName,\n download: download,\n downloadContent: downloadContent,\n each: each,\n eraseCookie: eraseCookie,\n error: error,\n escapeDquotes: escapeDquotes,\n escapeRegExp: escapeRegExp,\n escapeSquotes: escapeSquotes,\n escapeTicks: escapeTicks,\n escapeUrl: escapeUrl,\n extend: extend,\n extendOut: extendOut,\n fdate: fdate,\n fdatetime: fdatetime,\n fieldValue: fieldValue,\n fileExt: fileExt,\n filter: filter,\n filterToConditions: filterToConditions,\n findAll: findAll,\n fori: fori,\n forir: forir,\n format: format,\n formatBytes: formatBytes,\n formatDate: formatDate,\n formatSize: formatSize,\n formdata: formdata,\n fromXml: fromXml,\n ftime: ftime,\n getAllTags: getAllTags,\n getAncestors: getAncestors,\n getAttributes: getAttributes,\n getBrowserName: getBrowserName,\n getBrowserVersion: getBrowserVersion,\n getCookie: getCookie,\n getCssVar: getCssVar,\n getDay: getDay,\n getDeviceType: getDeviceType,\n getEventData: getEventData,\n getField: getField,\n getFieldValues: getFieldValues,\n getHtml: getHtml,\n getHTMLOfSelection: getHTMLOfSelection,\n getLoader: getLoader,\n getPath: getPath,\n getProp: getProp,\n getProperty: getProperty,\n getRequestId: getRequestId,\n getRow: getRow,\n getScrollBarSize: getScrollBarSize,\n getText: getText,\n getTimeoff: getTimeoff,\n happy: happy,\n hash: hash,\n hex2rgb: hex2rgb,\n history: history,\n html2text: html2text,\n imageToCanvas: imageToCanvas,\n imgToBase64: imgToBase64,\n info: info,\n init: init,\n isActiveInterface: isActiveInterface,\n isArray: isArray,\n isBlob: isBlob,\n isBoolean: isBoolean,\n isCanvas: isCanvas,\n isColor: isColor,\n isComment: isComment,\n isCp: isCp,\n isDate: isDate,\n isDesktopDevice: isDesktopDevice,\n isDimension: isDimension,\n isDom: isDom,\n isEmail: isEmail,\n isEmpty: isEmpty,\n isEvent: isEvent,\n isFocused: isFocused,\n isFunction: isFunction,\n isHostname: isHostname,\n isInside: isInside,\n isInt: isInt,\n isInViewport: isInViewport,\n isIP: isIP,\n isIterable: isIterable,\n isMobile: isMobile,\n isMobileDevice: isMobileDevice,\n isNull: isNull,\n isNumber: isNumber,\n isObject: isObject,\n isPercent: isPercent,\n isPrimitive: isPrimitive,\n isPromise: isPromise,\n isPropSize: isPropSize,\n isSame: isSame,\n isSQLDate: isSQLDate,\n isString: isString,\n isSymbol: isSymbol,\n isTabletDevice: isTabletDevice,\n isURL: isURL,\n isValidDimension: isValidDimension,\n isValidName: isValidName,\n isValue: isValue,\n isVue: isVue,\n iterate: iterate,\n lightenDarkenHex: lightenDarkenHex,\n link: link,\n log: log,\n makeReactive: makeReactive,\n map: map,\n md5: md5,\n money: money,\n move: move,\n multiorder: multiorder,\n mutateArray: mutateArray,\n nl2br: nl2br,\n numProperties: numProperties,\n objectToFormData: objectToFormData,\n order: order,\n outerHeight: outerHeight,\n outerWidth: outerWidth,\n percent: percent,\n pickValue: pickValue,\n post: post,\n postOut: postOut,\n printf: printf,\n quotes2html: quotes2html,\n randomInt: randomInt,\n randomString: randomString,\n removeAccents: removeAccents,\n removeEmpty: removeEmpty,\n removeExtraSpaces: removeExtraSpaces,\n removeHtmlComments: removeHtmlComments,\n removePrivateProp: removePrivateProp,\n removeTrailingChars: removeTrailingChars,\n repeat: repeat,\n replaceAll: replaceAll,\n replaceSelection: replaceSelection,\n resize: resize,\n rgb2hex: rgb2hex,\n riterate: riterate,\n roundDecimal: roundDecimal,\n sanitize: sanitize,\n search: search,\n selectElementText: selectElementText,\n selector: selector,\n setCookie: setCookie,\n setCssVar: setCssVar,\n setNavigationVars: setNavigationVars,\n setProp: setProp,\n setProperty: setProperty,\n shorten: shorten,\n shortenObj: shortenObj,\n shuffle: shuffle,\n simpleHash: simpleHash,\n simpleHash1: simpleHash1,\n simpleHash2: simpleHash2,\n startChrono: startChrono,\n stopChrono: stopChrono,\n string2ArrayBuffer: string2ArrayBuffer,\n submit: submit,\n substr: substr,\n sum: sum,\n timestamp: timestamp,\n toCSV: toCSV,\n toggleFullScreen: toggleFullScreen,\n translate: translate,\n treatAjaxArguments: treatAjaxArguments,\n trim: trim,\n uniqString: uniqString,\n unique: unique,\n upload: upload,\n warning: warning,\n};\nexport { fn };\n","import { substr } from '../string/substr.js';\n/**\n * Creates and adds a \"loader\" object to the property bbn.env.loaders.\n *\n * @method _addLoader\n * @global\n * @ignore\n * @memberof bbn.fn\n *\n * @param {String} requestId\n * @param {Promise} prom\n * @param {Object} aborter\n *\n * @returns {Number} The timestamp (in ms)\n */\nvar _addLoader = function (requestId, prom, aborter) {\n /** @var {Number} tst Current timestamp */\n var tst = new Date().getTime();\n /** @var {String} url The original URL (part of requestId before : and md5) */\n var url = substr(requestId, 0, requestId.length - 33);\n /** @var {Object} loader The loader object */\n var loader = {\n key: requestId,\n url: url,\n loader: prom,\n aborter: aborter,\n loading: true,\n error: false,\n abort: false,\n errorMessage: false,\n success: false,\n start: tst,\n };\n // Adding the loader in bbn.env.loaders\n bbn.env.loaders.push(loader);\n // Adding an object with this loader info in bbn.env.loadersHistory\n bbn.env.loadersHistory.unshift(loader);\n /** @var {Number} idx A pointer starting at the end of array loadersHistory */\n var idx = bbn.env.loadersHistory.length;\n // Removing elements from the loadersHistory object if their number is higher\n // than bbn.env.maxLoadersHistory\n while (idx && bbn.env.loadersHistory.length > bbn.env.maxLoadersHistory) {\n idx--;\n // Not removing the ones still loading\n if (!bbn.env.loading) {\n bbn.env.loadersHistory.splice(idx, 1);\n }\n }\n return tst;\n};\nexport { _addLoader };\n","import { search } from '../object/search.js';\nimport { getRow } from '../object/getRow.js';\nimport { isObject } from '../type/isObject.js';\n/**\n * Deletes a loader and changes its history state after the promise is fullfilled.\n *\n * @method _deleteLoader\n * @global\n * @ignore\n * @memberof bbn.fn\n *\n * @param {String} requestId The unique ID of the request sent\n * @param {String|Object} res The result of the request\n * @param {Boolean} isAbort True if the deletion comes from abortion\n *\n * @returns {Boolean} True if the loader was found\n */\nvar _deleteLoader = function (requestId, res, isAbort) {\n if (res === void 0) { res = null; }\n if (isAbort === void 0) { isAbort = false; }\n var idx = search(bbn.env.loaders, { key: requestId });\n if (idx > -1) {\n var loader = bbn.env.loaders.splice(idx, 1)[0];\n var history_1 = getRow(bbn.env.loadersHistory, { key: requestId, start: loader.start });\n if (history_1) {\n history_1.loading = false;\n history_1.duration = new Date().getTime() - loader.start;\n if (typeof res === 'string') {\n history_1.errorMessage = res;\n history_1.error = !isAbort;\n history_1.abort = isAbort;\n }\n else if (isObject(res)) {\n history_1.success = true;\n }\n }\n return true;\n }\n return false;\n};\nexport { _deleteLoader };\n","import { getLoader } from './getLoader.js';\n/**\n * Aborts (client side) the XHR corresponding to the given ID if it still exists.\n *\n * This will throw an error if the loader can't be found.\n *\n * @method abort\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.post('my/script', {a: 1, b: 2});\n * let requestId = bbn.fn.getRequestId('my/script', {a: 1, b: 2});\n * if (requestId) {\n * bbn.fn.abort(requestId);\n * }\n * ```\n *\n * @param {String} requestId An ID generated by getRequestId\n *\n * @returns {undefined}\n */\nvar abort = function (requestId) {\n var loader = getLoader(requestId);\n if (loader === null || loader === void 0 ? void 0 : loader.aborter) {\n loader.aborter.abort('Operation canceled by the user.');\n }\n /*\n else {\n throw new Error(\"Impossible to find the loader \" + requestId);\n }*/\n};\nexport { abort };\n","import { each } from '../loop/each.js';\nimport { filter } from '../object/filter.js';\n/**\n * Aborts (client side) all the XHR using the given URL if it still exists.\n *\n * This will throw an error if the loader can't be found.\n *\n * @method abortURL\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.post('my/script', {a: 1, b: 2});\n * bbn.fn.post('my/script', {c: 1, d: 2});\n * bbn.fn.abortURL('my/script');\n * ```\n *\n * @param {String} requestId An ID generated by getRequestId\n *\n * @returns {undefined}\n */\nvar abortURL = function (url) {\n each(filter(bbn.env.loaders, { url: url }), function (a) {\n if (a && a.source) {\n a.source.cancel('Operation canceled by the user.');\n }\n else {\n throw new Error('Impossible to find the loader with URL ' + url);\n }\n });\n};\nexport { abortURL };\n","import { isObject } from '../type/isObject.js';\nimport { replaceAll } from '../string/replaceAll.js';\nimport { getRequestId } from './getRequestId.js';\nimport { getLoader } from './getLoader.js';\nimport { extend } from '../object/extend.js';\nimport { numProperties } from '../object/numProperties.js';\nimport { _deleteLoader } from './_deleteLoader.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { _addLoader } from './_addLoader.js';\n/**\n * Creates an XHR object and returns the Promise.\n *\n * Checks the URL, makes an ID, creates a loader, sets the general callbacks,\n * makes a POST if data is given a GET otherwise (GET data should be added\n * directly in the URL), and returns the Promise.\n *\n * @method ajax\n * @global\n * @memberof bbn.fn\n * @example\n * ```javascript\n * // Promise\n * bbn.fn.ajax(\n * 'my/location',\n * 'json',\n * {id: 7},\n * d => {\n * console.log(d);\n * alert(\"Success!\");\n * },\n * err => {\n * console.log(err);\n * alert(\"Failure!\");\n * },\n * () => {\n * alert(\"Request aborted!\");\n * }\n * )\n * ```\n *\n * @example\n * ```javascript\n * // Promise\n * bbn.fn.ajax('my/location')\n * .then(\n * d => {\n * console.log(d);\n * alert(\"Success!\");\n * }\n * )\n * .catch(\n * err => {\n * }\n * )\n * ```\n *\n * @param {String} url The URL to be requested by XHR\n * @param {String} datatype The type of data expected\n * @param {Object} data The data to send through POST\n * @param {Function} success The function to execute if the request goes well (200)\n * @param {Function} failure The function to execute if the request goes bad\n * @param {Function} abort The function to execute if the request is aborted\n *\n * @returns {Promise} The Promise created by the generated XHR.\n */\nvar ajax = function (url, datatype, data, success, failure, abort) {\n if (datatype === void 0) { datatype = null; }\n if (data === void 0) { data = null; }\n if (success === void 0) { success = null; }\n if (failure === void 0) { failure = null; }\n if (abort === void 0) { abort = null; }\n if (arguments.length === 1 && url && typeof url === \"object\" && url.url) {\n if (url.abort) {\n abort = url.abort;\n }\n if (url.failure) {\n failure = url.failure;\n }\n if (url.success) {\n success = url.success;\n }\n if (url.data) {\n data = url.data;\n }\n if (url.datatype) {\n datatype = url.datatype;\n }\n url = url.url;\n }\n if (!url) {\n return;\n }\n if (url && typeof url === \"string\") {\n if (url.indexOf(\"://\") === -1) {\n // Prevent protocol mismatch by Axios\n url = replaceAll(\"//\", \"/\", url);\n }\n if (!datatype) {\n datatype = \"json\";\n }\n var requestId_1 = getRequestId(url, data, datatype);\n var loaderObj = getLoader(requestId_1);\n //log(\"IN AJAX\", loaderObj? loaderObj.loader : \"NO LOADER\")\n if (loaderObj === null || loaderObj === void 0 ? void 0 : loaderObj.loader) {\n return loaderObj.loader;\n }\n if (bbn.env.token) {\n extend(data || {}, { _bbn_token: bbn.env.token });\n }\n var aborter = new AbortController();\n var options = {\n responseType: datatype,\n signal: aborter.signal\n };\n if (datatype === \"text\") {\n options['headers'] = {\n accept: \"text/javascript\",\n \"Content-Type\": \"text/javascript\",\n };\n }\n var args = [url];\n if (isObject(data) && numProperties(data) > 0) {\n args.push(data);\n }\n args.push(options);\n var axiosMethod = args.length === 2 ? \"get\" : \"post\";\n var loader_1 = axios[axiosMethod]\n .apply(null, args)\n .then(function (res) {\n _deleteLoader(requestId_1, res);\n bbn.fn.defaultEndLoadingFunction(url, tst_1, data, res);\n switch (res.status) {\n case 200:\n if (isFunction(success)) {\n success(res.data, res.headers);\n }\n break;\n default:\n bbn.fn.defaultAjaxErrorFunction(loader_1, res);\n }\n return res;\n })\n .catch(function (err) {\n var isAbort = axios.isCancel(err);\n _deleteLoader(requestId_1, err.message || err.response.data, isAbort);\n bbn.fn.defaultEndLoadingFunction(url, tst_1, data, err);\n if (isAbort) {\n var ok = 1;\n if (isFunction(abort)) {\n ok = abort(err.message, url);\n }\n if (ok) {\n bbn.fn.defaultAjaxAbortFunction(err.message, url);\n }\n }\n else {\n var ok = 1;\n if (isFunction(failure)) {\n ok = failure(err.request, err);\n }\n if (ok) {\n bbn.fn.defaultAjaxErrorFunction(err.request, err.response ? err.response.data : \"\", err.response ? err.response.status : err);\n }\n }\n });\n var tst_1 = _addLoader(requestId_1, loader_1, aborter);\n bbn.fn.defaultStartLoadingFunction(url, tst_1, data, requestId_1);\n return loader_1;\n }\n};\nexport { ajax };\n","import { error } from '../browser/error.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { log } from '../browser/log.js';\n/**\n * Executes a serie of predefined actions once an Ajax request has been done.\n *\n * Used to treat all the requests functions results, it expects at least url and res to be defined;\n * The following properties from the object res have direct effects:\n * - __url__ {String}: if not given it will be automatically defined by the url parameter;\n * __the given URL will be passed to location.href (without reloading)__\n * - __prescript__ {String}: if defined it will attempt to evaluate the code contained in the property\n * - __content__ {String}: if defined and ele is defined too, the string will be inserted as content in the element\n * - __script__ {String}: if defined it will be evaluated, executed, and its result will be returned\n * - __data__ {Object}:\n * - __postscript__ {String}: if defined it will be evaluated and executed\n * - __error__ {String}: if defined it will be trigger bbn.fn.defaultAlertFunction\n *\n * If fn is defined it will be executed after prescript, otherwise it will be bbn.fn.defaultLinkFunction.\n *\n * The rest of the function comes executed if either of these results is not empty.\n *\n * If fn2 is defined it will be executed after script, otherwise it will be bbn.fn.defaultPostLinkFunction.\n *\n * Although not private this function should only be used internally.\n *\n * @method callback\n * @todo Add method description for callback\n * @global\n * @memberof bbn.fn\n *\n * @param {String} url The URL that has been called\n * @param {Object} res The object returned by the request\n * @param {Function} fn A first callback function to execute\n * @param {Function} fn2 A second callback function to execute\n * @param {HTMLElement} ele A DOM element where the content will be inserted\n *\n * @returns {*} The result of the main callback function: res.script, fn, or bbn.fn.defaultLinkFunction\n */\nvar callback = function (url, res, fn, fn2, ele) {\n if (res === void 0) { res = null; }\n if (fn === void 0) { fn = null; }\n if (fn2 === void 0) { fn2 = null; }\n if (ele === void 0) { ele = null; }\n var tmp = false;\n if (res) {\n tmp = true;\n var t = typeof res;\n var isObj = t.toLowerCase() === 'object';\n var errTitle = void 0;\n if (isObj && res.prescript) {\n /* var ok can be changed to false in prescript execution */\n try {\n eval(res.prescript);\n }\n catch (e) {\n error(e.message || '');\n }\n }\n if (isObj && res.url === undefined) {\n res.url = url;\n }\n /* Case where a callback is defined */\n if (fn && isFunction(fn)) {\n tmp = fn(res, ele);\n }\n else {\n tmp = bbn.fn.defaultLinkFunction(res, ele);\n }\n if (ele && isObj && (res.content !== undefined)) {\n if ('value' in ele) {\n ele.value = res.content;\n }\n else {\n ele.innerHTML = res.content;\n }\n }\n if (tmp && isObj && res.script) {\n if (typeof (res.script) === 'function') {\n tmp = res.script(res.data ? res.data : {}, ele || null);\n }\n else {\n tmp = (function (data, ele) {\n var r = null;\n try {\n r = eval(res.script);\n if (isFunction(r)) {\n r = r(data, ele);\n }\n }\n catch (e) {\n log(e, res);\n error(isFunction(e.getMessage) ? e.getMessage() : null);\n }\n return r;\n })(res.data ? res.data : {}, ele ? ele : false);\n }\n }\n /* Case where a callback is defined */\n if (tmp && fn2 && isFunction(fn2)) {\n fn2(res);\n }\n else if (isObj && bbn.fn.defaultPostLinkFunction) {\n bbn.fn.defaultPostLinkFunction(res, ele);\n }\n if (tmp && isObj && res.postscript) {\n eval(res.postscript);\n }\n if (isObj && res.error) {\n errTitle = res.errorTitle || bbn.lng.server_response;\n bbn.fn.defaultAlertFunction(res.error, errTitle);\n }\n }\n else {\n bbn.fn.defaultAlertFunction(bbn.lng.errorText, bbn.lng.error);\n }\n return tmp;\n};\nexport { callback };\n","import { ajax } from './ajax.js';\nimport { substr } from '../string/substr.js';\nimport { baseName } from '../string/baseName.js';\nimport { isBlob } from '../type/isBlob.js';\nimport { fileExt } from '../string/fileExt.js';\nimport { downloadContent } from './downloadContent.js';\n/**\n * Downloads a file with given filename from a URL.\n *\n * Gets the file's content as Blob through XHR, then sends it to bbn.fn.downloadContent.\n * __Attention__ The CORS policy applies\n *\n * @method download\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * // Forcing the download of an image\n * bbn.fn.download('/bbn/js-title-black.png');\n *\n * // Forcing the download of a PDF\n * bbn.fn.download('/files/my-document.pdf');\n *\n * // Changing the name as it is downloaded\n * bbn.fn.download('/files/f4b1092d71aefd96458feaa71d170f69.pdf', 'myDocument_' + bbn.fn.dateSQL() + '.pdf');\n * ```\n *\n * @param {String} url The URL from which the file will be requested\n * @param {String} filename The name for the downloaded file (otherwise it will take the basename of the url)\n * @param {Object} params A data object to send with the request\n *\n * @returns {undefined}\n */\nvar download = function (url, filename, params) {\n if (filename === void 0) { filename = ''; }\n if (params === void 0) { params = null; }\n // We can intervert the arguments\n if (filename && typeof filename === \"object\") {\n params = filename;\n filename = \"\";\n }\n return ajax(url, \"blob\", params || { _bbn_download: 1 }, function (d, headers) {\n if (!filename) {\n var prop = \"content-disposition\";\n var cd = \"attachment; filename=\";\n if ((headers === null || headers === void 0 ? void 0 : headers[prop]) && headers[prop].indexOf(cd) === 0) {\n filename = substr(headers[prop], cd.length + 1, headers[prop].length - cd.length - 2);\n }\n else {\n filename = baseName(url);\n }\n }\n if (isBlob(d)) {\n var extension = fileExt(filename);\n var htmlExtensions = [\"php\", \"html\"];\n if (typeof filename === \"string\" &&\n ((\"type\" in d && d.type !== \"text/html\") ||\n htmlExtensions.includes(extension))) {\n downloadContent(filename, d);\n return;\n }\n }\n }, function (e) {\n bbn.fn.defaultAjaxErrorFunction(e);\n });\n};\nexport { download };\n","import { isCanvas } from '../type/isCanvas.js';\nimport { isObject } from '../type/isObject.js';\nimport { isString } from '../type/isString.js';\nimport { log } from '../browser/log.js';\n/**\n * Downloads a file with given filename from the given content.\n *\n * Creates a link putting in href a URL Object Blob made of the given content,\n * which can be a canvas, a file or a blob object, or just a string.\n *\n * @method downloadContent\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * // Download from a string\n * bbn.fn.downloadContent('myTextFile.txt', 'Just a string\\nThat we can save directly in a file', 'text/plain');\n *\n * // Download from a file\n * let file = new File([\"foo\"], \"foo.txt\", {type: \"text/plain\"});\n * bbn.fn.downloadContent('foo.txt', file);\n * ```\n *\n * @param {String} filename The name for the downloaded file\n * @param {HTMLCanvasElement|File|String} content A Canvas, a File object or a String\n * @param {String} type The type of file to be made\n *\n * @returns {undefined}\n */\nvar downloadContent = function (filename, content, type) {\n if (type === void 0) { type = null; }\n if (isCanvas(content)) {\n content.toBlob(function (blob) {\n // blob ready, download it\n var a = document.createElement('a');\n a.download = filename;\n a.href = window.URL.createObjectURL(blob);\n a.className = 'bbn-no';\n a.click();\n // delete the internal blob reference, to let the browser clear memory from it\n window.URL.revokeObjectURL(a.href);\n }, type || 'image/png');\n return;\n }\n if (!type) {\n type = isObject(content) && content.type ? content.type : 'octet/stream';\n }\n else if (type.indexOf('/') === -1) {\n type = 'text/' + type;\n }\n var a = window.document.createElement('a');\n a.className = 'bbn-no';\n var src = null;\n if (isString(content)) {\n src = new Blob([content], { type: type });\n }\n else {\n try {\n src = content;\n }\n catch (e) {\n log(e);\n }\n }\n a.href = window.URL.createObjectURL(src);\n a.download = filename;\n // Append anchor to body.\n document.body.appendChild(a);\n a.click();\n window.URL.revokeObjectURL(a.href);\n // Remove anchor from body\n document.body.removeChild(a);\n};\nexport { downloadContent };\n","import { search } from '../object/search.js';\n/**\n * Finds the loader object corresponding to the given unique ID and returns it if found.\n *\n * The loader is an object representing an Ajax request, with the following properties:\n * * _key_ is the unique ID (_requestId_) of the loader\n * * _url_ is the URL called by the request\n * * _loader_ is the Promise from the Axios XHR\n * * _source_ is the source object for aborting the request\n * * _start_ is the timestamp of the moment the request was sent\n *\n * @method getLoader\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.post('my/script', {a: 1, b: 2});\n * let requestId = bbn.fn.getRequestId('my/script', {a: 1, b: 2});\n * if (requestId) {\n * let loader = bbn.fn.getLoader(requestId);\n * console.log(loader);\n * // {\n * // key: \"my/script:af27f0e81533ae2bae3c25dea67359f6\",\n * // url: \"my/script\",\n * // loader: {Promise},\n * // source: {token: {CancelToken}, cancel: {Function}},\n * // start: 1591804716757\n * // }\n * }\n * ```\n *\n * @param {String} requestId The unique ID of the request as used in bbn.env.loaders\n *\n * @returns {null|Object} The corresponding loader Object if it exists, false otherwise\n */\nvar getLoader = function (requestId) {\n var idx = search(bbn.env.loaders, { key: requestId });\n if (idx > -1) {\n return bbn.env.loaders[idx];\n }\n return null;\n};\nexport { getLoader };\n","import { iterate } from '../loop/iterate.js';\nimport { md5 } from '../string/md5.js';\n/**\n * Returns a unique ID for a \"loader\" based on the URL, the data keys and the datatype.\n *\n * The routing functions don't allow to send the same request at the same moment,\n * therefore a unique ID is generated to identify them, based on the URL,\n * the keys of the data sent, and the expected returned data type.\n *\n * @method getRequestId\n * @global\n *\n * @example\n * ```javascript\n * // The URL is the first part of the key\n * bbn.fn.getRequestId('my/location', {a: 1, b: 2});\n * // my/location:af27f0e81533ae2bae3c25dea67359f6\n * bbn.fn.getRequestId('my/other/location', {a: 1, b: 2});\n * // my/other/location:af27f0e81533ae2bae3c25dea67359f6\n * ```\n *\n * @example\n * ```javascript\n * // A change of value will not change the requestId\n * bbn.fn.getRequestId('my/location', {a: 1, b: 3});\n * // my/location:af27f0e81533ae2bae3c25dea67359f6\n * // A change of key will\n * bbn.fn.getRequestId('my/location', {a: 1, c: 3});\n * // my/location:fde97ca7c6c998c911f4ab481a136d5f\n * ```\n *\n * @example\n * ```javascript\n * // Same with nested object\n * bbn.fn.getRequestId('my/location', {data: {a: 1, b: 3}});\n * // my/location:a7a58435275054106c4e4c9fb0cea5e5\n * bbn.fn.getRequestId('my/location', {data: {a: 1, b: 2}});\n * // my/location:a7a58435275054106c4e4c9fb0cea5e5\n * bbn.fn.getRequestId('my/location', {data: {a: 1, c: 3}});\n * // my/location:730da481e30d421afbadf1f1282dabb7\n * ```\n *\n * @memberof bbn.fn\n *\n * @param {String} url The URL used by the request\n * @param {Object} data The data sent to the URL\n * @param {String} datatype The type of data requested (JSON by default)\n *\n * @returns {String} The unique ID\n */\nvar getRequestId = function (url, data, datatype) {\n var d = {};\n if (data) {\n iterate(data, function (a, n) {\n if (n.indexOf('_bbn') === -1) {\n d[n] = a;\n }\n });\n }\n return url + ':' + md5((datatype || 'json') + JSON.stringify(d));\n};\nexport { getRequestId };\n","import { treatAjaxArguments } from './treatAjaxArguments.js';\nimport { getLoader } from './getLoader.js';\nimport { ajax } from './ajax.js';\nimport { log } from '../browser/log.js';\nimport { extend } from '../object/extend.js';\nimport { isObject } from '../type/isObject.js';\nimport { callback } from './callback.js';\nimport { setNavigationVars } from './setNavigationVars.js';\n/**\n * Follows a link and if needed by sending the corresponding Ajax request and executing bbn.fn.defaultPreLinkFunction.\n *\n * Once bbn has been initiated this function will be triggered every time a link is clicked.\n * It accepts the same arguments as seen in treatAjaxArguments but will tipically just be called with a URL,\n * the defaultLinkURL functions being in charge of loading the content\n *\n * @method link\n * @todo Manage anchors + returned data unclear\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * // Will open in a new window/tab\n * bbn.fn.link('https://nytimes.com');\n * // Will send an Ajax request\n * bbn.fn.link('my/page');\n * // Will open your default email program\n * bbn.fn.link('mailto:postmaster@test.com');\n * ```\n *\n * @returns\n */\nvar link = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cfg = treatAjaxArguments(args);\n var ok = 1;\n if (cfg === true) {\n return true;\n }\n /* If we can't find a correct link we load the current URL */\n if (!cfg) {\n return link(window.location.href);\n }\n /* Just executing the javascript if there is */\n if (cfg.url.indexOf('javascript:') === 0) {\n return true;\n }\n if (cfg.url.indexOf('data:') === 0) {\n return true;\n }\n if (cfg.url.indexOf('#') === 0) {\n location.href = bbn.env.url + cfg.url;\n /*\n if ( window.history ){\n bbn.env.historyDisabled = true;\n let state = h.state;\n window.history.replaceState(null, state.title, bbn.env.url);\n }\n bbn.env.historyDisabled = false;\n */\n return true;\n }\n else if (cfg.url.indexOf('mailto:') === 0) {\n /* Mail link */\n bbn.env.ignoreUnload = true;\n window.location.href = cfg.url;\n setTimeout(function () {\n bbn.env.ignoreUnload = false;\n }, 0);\n return false;\n }\n if (getLoader(cfg.url)) {\n return false;\n }\n /* Opens an external page in a new window */\n if ((cfg.url.indexOf('http://') === 0 || cfg.url.indexOf('https://') === 0) &&\n cfg.url.indexOf(bbn.env.host) !== 0) {\n if (cfg.e) {\n cfg.e.preventDefault();\n }\n window.open(cfg.url);\n return false;\n }\n else if (cfg.url !== bbn.env.params.join('/') || cfg.force === 1) {\n /* The URL is fine so go ahead if something is not already loading */\n /* If a second callback is defined, it is triggered instead of defaultPreLinkFunction */\n if (cfg.successFn) {\n ok = cfg.successFn(cfg.url);\n }\n else if (bbn.fn.defaultPreLinkFunction) {\n var tmp = bbn.fn.defaultPreLinkFunction(cfg.url, cfg.force, cfg.ele);\n if (tmp.data !== undefined) {\n extend(cfg.obj, tmp.data);\n ok = 1;\n }\n else {\n ok = tmp;\n }\n }\n if (ok) {\n if (ok !== 1 && typeof ok === 'string') {\n cfg.url = ok;\n }\n /** todo Do we keep obj in the unique string or do we make that only one concurrent connection to the same address can occur at the same time? */\n var errSt_1 = bbn._('The Ajax call to') + ' ' + cfg.url + ' ';\n return ajax(cfg.url, cfg.datatype, cfg.obj, function (res) {\n if (!res) {\n log(errSt_1 + bbn._('returned no answer'));\n }\n if (isObject(res)) {\n // If there's nothing in the result, just an empty object, the callback stops here and the URL is not changed\n if (Object.keys(res).length === 0) {\n log(errSt_1 + bbn._('returned an empty object'));\n }\n if (res.new_url) {\n res.old_path = cfg.url;\n cfg.url = res.new_url;\n }\n else if (res.url && cfg.url !== res.url) {\n res.old_path = cfg.url;\n }\n }\n if (callback(cfg.url, res, cfg.successFn, null, cfg.ele) && res.noNav === undefined) {\n // This solution is not very clean (we can't shorten a URL)\n if (bbn.env.path.indexOf(cfg.url) !== 0) {\n setNavigationVars(cfg.url, (res.title ? res.title + ' - ' : '') + bbn.env.siteTitle);\n }\n }\n }, cfg.errorFn || null);\n }\n }\n return true;\n};\nexport { link };\n","import { treatAjaxArguments } from './treatAjaxArguments.js';\nimport { ajax } from './ajax.js';\nimport { callback } from './callback.js';\n/**\n * Creates a POST XHR through bbn.fn.ajax then launches bbn.fn.callback with the result.\n *\n * URL is the only mandatory argument (see treatAjaxArguments for the arguments).\n *\n * @method post\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.post('logout').then(() => {\n * document.location.reload();\n * });\n * // With data\n * bbn.fn.post('login', {user: 'tn', pass: 'xxx'}).then((d) => {\n * if (d && d.success) {\n * alert('Welcome!');\n * }\n * });\n * // With the callback as argument\n * bbn.fn.post('login', {user: 'tn', pass: 'xxx'}, (d) => {\n * if (d && d.success) {\n * alert('Welcome!');\n * }\n * }, (err) => {\n * bbn.fn.log(err);\n * mySpecialErrorFunction(err);\n * });\n * ```\n *\n * @returns {undefined|Promise}\n */\nvar post = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cfg = treatAjaxArguments(args);\n if (cfg.url) {\n return ajax(cfg.url, cfg.datatype, cfg.obj, function (res) {\n callback(cfg.url, res, cfg.successFn, null, cfg.ele);\n }, cfg.errorFn, cfg.abortFn);\n }\n};\nexport { post };\n","import { createObject } from '../object/createObject.js';\nimport { addInputs } from '../form/addInputs.js';\nimport { setProperty } from '../object/setProperty.js';\n/**\n * Posts a request in a new window.\n *\n * @method postOut\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.postOut('https://external-service.com/download/account-2019-06.pdf', {clientId: 547912, token: xxx});\n * ```\n *\n * @param {String} url The url to which the request should be sent\n * @param {Object} data The data to be sent\n * @param {Function} success A function to execute in case of success\n * @param {String} target The target attribute of the form\n *\n * @returns {void}\n */\nvar postOut = function (url, data, success, target) {\n if (success === void 0) { success = null; }\n if (target === void 0) { target = \"\"; }\n var form = document.body.querySelector(\"form#bbn-form_out\");\n if (!form) {\n form = document.createElement(\"form\");\n form.classList.add(\"bbn-no\");\n form.setAttribute(\"id\", \"bbn-form_out\");\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"enctype\", \"multipart/form-data-encoded\");\n setProperty(form, \"style.display\", \"none\");\n document.body.appendChild(form);\n }\n if (form instanceof HTMLFormElement) {\n form.innerHTML = \"\";\n form.setAttribute(\"action\", url);\n form.setAttribute(\"target\", target || \"_blank\");\n if (!data) {\n data = {};\n }\n data = createObject(data);\n if (!data.bbn) {\n data.bbn = \"public\";\n }\n addInputs(form, data);\n form.submit();\n if (success) {\n success();\n }\n }\n};\nexport { postOut };\n","import { substr } from '../string/substr.js';\nimport { filter } from '../object/filter.js';\nimport { extend } from '../object/extend.js';\nimport { html2text } from '../html/html2text.js';\n/**\n * Changes the URL and the associated variables and updates the history.\n *\n * @method setNavigationVars\n * @todo Add method description for setNavigationVars\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * // Changing URL\n * bbn.fn.setNavigationVars('my/page', 'My page');\n * // Replacing the previous state\n * bbn.fn.setNavigationVars('my/page/deeper', 'My deeper page', null, true);\n * ```\n *\n * @param {String} url The URL which will become the location.href\n * @param {String} title The title corresponding to the given URL\n * @param {Object} data The data if any\n * @param {Boolean} repl If true the history state object will replace the current one, will be added otherwise\n *\n * @returns {void}\n */\nvar setNavigationVars = function (url, title, data, repl) {\n if (data === void 0) { data = null; }\n if (repl === void 0) { repl = false; }\n // Current path becomes old path\n bbn.env.old_path = bbn.env.path;\n // URL includes the domain\n bbn.env.url = ['https:/', 'http://'].includes(substr(url, 0, 7)) ? url : bbn.env.root + url;\n // Path does not\n bbn.env.path = substr(bbn.env.url, bbn.env.root.length);\n // Params will include each part of the URL\n bbn.env.params = filter(bbn.env.path.split('/'), function (v) {\n return v !== '';\n });\n // Managing history\n var h = window.history;\n if (h) {\n // Current state\n var state = h.state;\n // Future state\n var obj = {\n url: bbn.env.path,\n old_path: bbn.env.old_path || null,\n data: data || {},\n reload: false\n };\n // If same URL we replace\n if (state && state.url === bbn.env.path) {\n if (state.data) {\n extend(obj.data, state.data);\n }\n if (state.title && !title) {\n title = state.title;\n }\n repl = true;\n }\n // If no title the global title\n if (!title) {\n title = bbn.env.siteTitle;\n }\n // Otherwise we add the global title at the end\n else {\n title = html2text(title);\n }\n // Replacing state\n if (repl) {\n obj.reload = true;\n h.replaceState(obj, title, bbn.env.url);\n }\n // Adding state\n else {\n h.pushState(obj, title, bbn.env.url);\n }\n }\n};\nexport { setNavigationVars };\n","import { isObject } from '../type/isObject.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { substr } from '../string/substr.js';\nimport { numProperties } from '../object/numProperties.js';\n/**\n * Transforms unordered arguments into a configuratiuon object for Ajax shortcut functions.\n *\n * The final object will have the following arguments: url, obj, datatype, force, successFn,\n * errorFn, abortFn, e, and ele; The rules are:\n * * The first string found is the URL\n * * The second string found is the datatype\n * * The first function is successFn\n * * The second function is errorFn\n * * The third function is abortFn\n * * A boolean true is force\n * * An Event is e\n * * An HTML element is ele\n *\n * If no object is given the _bbn property will be added in order to always post something\n * and let the bbn server scripts know if a whole DOM is requested or a JSON answer\n *\n * @method treatAjaxArguments\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.treatAjaxArguments(['my/script', 'json', {a:1, b:2}, () => bbn.fn.log('Hi'), () => bbn.fn.log('Bye'), () => bbn.fn.log('Argh'), true])\n * // {\n * // \"url\": \"my/script\",\n * // \"datatype\": \"json\",\n * // \"obj\": {\n * // \"a\": 1,\n * // \"b\": 2\n * // },\n * // \"successFn\": () => bbn.fn.log('Hi'),\n * // \"errorFn\": () => bbn.fn.log('Bye'),\n * // \"abortFn\": () => bbn.fn.log('Argh'),\n * // \"force\": true\n * // }\n *\n * bbn.fn.treatAjaxArguments(['my/script?id=1'])\n * // {\n * // \"url\": \"my/script?id=1\",\n * // \"obj\": {\n * // \"_bbn\": \"public\"\n * // },\n * // \"datatype\": \"json\"\n * // }\n * ```\n *\n * @param {*} args\n *\n * @returns {Object} The configuration object\n */\nvar treatAjaxArguments = function (args) {\n var cfg = {};\n var t;\n var i;\n if (isObject(args[0]) && args.length === 1) {\n return args[0];\n }\n for (i = 0; i < args.length; i++) {\n t = typeof args[i];\n t = t.toLowerCase();\n /* Callbacks */\n if (isFunction(args[i])) {\n if (cfg[\"errorFn\"] && !cfg[\"abortFn\"]) {\n cfg[\"abortFn\"] = args[i];\n }\n if (cfg[\"successFn\"] && !cfg[\"errorFn\"]) {\n cfg[\"errorFn\"] = args[i];\n }\n else if (!cfg[\"successFn\"]) {\n cfg[\"successFn\"] = args[i];\n }\n }\n else if (args[i] === 1 || args[i] === true) {\n /* Force */\n cfg[\"force\"] = true;\n }\n else if (t === \"string\") {\n if (!cfg[\"url\"]) {\n /* Hash */\n if (args[i].indexOf(\"#\") === 0 ||\n args[i].indexOf(bbn.env.root + \"#\") === 0) {\n cfg[\"url\"] = substr(args[i], bbn.env.root.length);\n }\n else {\n /* Link */\n cfg[\"url\"] = args[i];\n if (cfg[\"url\"].indexOf(bbn.env.root) === 0) {\n cfg[\"url\"] = substr(cfg[\"url\"], bbn.env.root.length);\n }\n }\n }\n else {\n /* Ajax datatype */\n cfg[\"datatype\"] = args[i];\n }\n }\n else if (args[i] && t === \"object\") {\n /* Event */\n if (args[i] instanceof Event) {\n cfg[\"e\"] = args[i];\n }\n else if (!cfg[\"ele\"] && args[i].nodeType === 1) {\n /* HTML Element */\n cfg[\"ele\"] = args[i];\n }\n else if (t.toLowerCase() === \"object\") {\n /* An object to post */\n cfg[\"obj\"] = args[i];\n }\n }\n }\n if (!cfg[\"url\"] && numProperties(cfg)) {\n cfg[\"url\"] = bbn.env.path;\n }\n if (cfg[\"obj\"] === undefined) {\n cfg[\"obj\"] = { _bbn: \"public\" };\n }\n if (!cfg[\"datatype\"]) {\n cfg[\"datatype\"] = \"json\";\n }\n return cfg;\n};\nexport { treatAjaxArguments };\n","import { objectToFormData } from '../form/objectToFormData.js';\nimport { log } from '../browser/log.js';\n/**\n * Uploads a file synchronously through an XHR indicating progress.\n *\n * @method upload\n * @todo examples\n * @global\n * @memberof bbn.fn\n *\n * @param {String} url The URL to which the file should be uploaded\n * @param {File} file A File object or an array of data\n * @param {Function} success A function to execute after success\n * @param {Function} failure A function to execute after failure\n * @param {Function} progress A function to execute during progress\n *\n * @returns {Promise}\n */\nvar upload = function (url, file, success, failure, progress) {\n if (success === void 0) { success = null; }\n if (failure === void 0) { failure = null; }\n if (progress === void 0) { progress = null; }\n var fn = function () {\n return axios.post(url || bbn.env.path, objectToFormData(file), {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n onUploadProgress: function (progressEvent) {\n if (progress) {\n var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);\n progress(percentCompleted, progressEvent.loaded, progressEvent.total);\n }\n },\n });\n };\n if (!success && !failure) {\n return fn();\n }\n else {\n return fn()\n .then(function (res) {\n if (success) {\n log('SUCCESS', res);\n success(res);\n }\n })\n .catch(function (err) {\n if (failure) {\n log('ERROR', err);\n failure(err);\n }\n });\n }\n};\nexport { upload };\n","import { isObject } from '../type/isObject.js';\nimport { isFunction } from '../type/isFunction.js';\n/**\n * Copies to the clipboard the value of the given string.\n * @method copy\n * @global\n * ``` javascript\n * let myVal = 'the value you want to copy to clipbord';\n * bbn.fn.copy(myVal);\n *\n * ```\n * @memberof bbn.fn\n * @param {String} st The string to copy.\n * @returns\n */\nvar copy = function (st) {\n return new Promise(function (resolve) {\n var _a;\n if (st) {\n if (navigator && navigator.clipboard) {\n if (st instanceof Blob) {\n navigator.clipboard.write([new ClipboardItem((_a = {}, _a[st.type.toString()] = st, _a))]).then(function () {\n resolve(true);\n });\n }\n else if (isObject(st) && isFunction(st.toBlob)) {\n st.toBlob(function (blob) {\n var _a;\n navigator.clipboard.write([new ClipboardItem((_a = {}, _a[blob.type.toString()] = blob, _a))]).then(function () {\n resolve(true);\n });\n });\n }\n else {\n navigator.clipboard.writeText(st);\n resolve(true);\n }\n return;\n }\n var input = document.createElement('textarea');\n input.style.opacity = '0';\n input.value = st;\n document.body.appendChild(input);\n input.select();\n document.execCommand('copy');\n document.body.removeChild(input);\n resolve(true);\n }\n resolve(false);\n });\n};\nexport { copy };\n","/**\n * Erase the cookie corresponding to the given name;\n *\n * @method eraseCookie\n * @global\n * @example\n * ``` javascript\n * // 'en'\n * bbn.fn.erase('lang');\n * ```\n * @memberof bbn.fn\n * @returns {*}\n */\nvar eraseCookie = function (name) {\n document.cookie = name + '=; Max-Age=-99999999;';\n};\nexport { eraseCookie };\n","import { log } from './log.js';\n/**\n * Throws an error.\n * @method error\n * @global\n * @ignore\n * ``` javascript\n * bbn.fn.error('I log this error in console with a red background')\n * ```\n * @memberof bbn.fn\n * @param {String} errorMsg\n * @returns\n */\nvar error = function (errorMsg) {\n if (arguments.length > 1) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.unshift({\n _bbn_console_mode: 'error',\n _bbn_console_level: 1,\n _bbn_console_style: 'color: #E64141; background: #F7E195; font-size: 14px',\n });\n log.apply(this, args);\n }\n throw new Error(errorMsg);\n};\nexport { error };\n","/**\n * Gets the browser's name\n * @method getBrowserName\n * @global\n * @memberof bbn.fn\n * @returns {String}\n */\nvar getBrowserName = function () {\n var userAgent = navigator.userAgent.toLowerCase();\n switch (true) {\n case userAgent.includes('edge'):\n case userAgent.includes('edg/'):\n return 'Edge';\n case userAgent.includes('opr') && !!window['opr']:\n return 'Opera';\n case userAgent.includes('chrome') && !!window['chrome']:\n return 'Chrome';\n case userAgent.includes('trident'):\n return 'Internet Explorer';\n case userAgent.includes('firefox'):\n return 'Firefox';\n case userAgent.includes('safari'):\n return 'Safari';\n default:\n return 'Other';\n }\n};\nexport { getBrowserName };\n","/**\n * Gets the browser's version\n * @method getBrowserVersion\n * @global\n * @memberof bbn.fn\n * @returns {String}\n */\nvar getBrowserVersion = function () {\n var userAgent = navigator.userAgent.toLowerCase();\n switch (true) {\n case userAgent.includes('edge/'):\n return userAgent.split('edge/')[1].split(' ')[0];\n case userAgent.includes('edg/'):\n return userAgent.split('edg/')[1].split(' ')[0];\n case userAgent.includes('opr/') && !!window['opr']:\n return userAgent.split('opr/')[1].split(' ')[0];\n case userAgent.includes('chrome/') && !!window['chrome']:\n return userAgent.split('chrome/')[1].split(' ')[0];\n case userAgent.includes('trident/'):\n return userAgent.split('trident/')[1].split(' ')[0];\n case userAgent.includes('firefox/'):\n return userAgent.split('firefox/')[1].split(' ')[0];\n case userAgent.includes('safari/'):\n return userAgent.split('version/')[1].split(' ')[0];\n default:\n return '';\n }\n};\nexport { getBrowserVersion };\n","/**\n * If it exsists returns the cookie corresponding to the given name.\n *\n * @method getCookie\n * @example\n * ``` javascript\n * // 'en'\n * bbn.fn.getCookie('lang');\n * ```\n * @global\n * @memberof bbn.fn\n * @param {String} name\n * @returns\n */\nvar getCookie = function (name) {\n var nameEqual = name + '=';\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEqual) == 0) {\n var st = c.substring(nameEqual.length, c.length);\n if (st) {\n return JSON.parse(unescape(st)).value;\n }\n }\n }\n return null;\n};\nexport { getCookie };\n","/**\n * Returns the current device type.\n * @method getDeviceType\n * @global\n * @example\n * ``` javascript\n * bbn.fn.getDeviceType();\n * // mobile\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar getDeviceType = function () {\n var userAgent = navigator.userAgent.toLowerCase();\n if (/iPhone|Android/i.test(navigator.userAgent)) {\n return 'mobile';\n }\n if (/(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(userAgent)) {\n return 'tablet';\n }\n return 'desktop';\n};\nexport { getDeviceType };\n","import { getHTMLOfSelection } from '../html/getHTMLOfSelection.js';\nimport { each } from '../loop/each.js';\n/**\n * Returns a promise having the event's data as argument.\n * @method getEventData\n * @global\n * @example\n * ``` javascript\n * let type = e.type;\n * bbn.fn.getEventData(e).then((data) => {\n * bbn.fn.log(\"DATA FROM \" + type, data);\n * });\n * ```\n * @memberof bbn.fn\n * @returns {Promise}\n */\nvar getEventData = function (e) {\n var dt = e.dataTransfer || e.clipboardData;\n var t = dt.getData('Text');\n var res = { raw: t, files: [], str: [] };\n var p = new Promise(function (ok, err) {\n var done = !(dt instanceof DataTransfer);\n if (!t && e.type === 'copy') {\n var sel = window.getSelection();\n res.raw = sel.toString();\n var html = getHTMLOfSelection();\n res.str.push({\n type: 'text/plain',\n data: res.raw,\n });\n if (html !== res.raw) {\n res.str.push({\n type: 'text/html',\n data: html,\n });\n }\n else if (res.raw.trim().indexOf('<') === 0) {\n res.str.push({\n type: 'text/html',\n data: \"<meta charset='utf-8'><code style=\\\"white-space: pre; font-family: 'Courier New', sans-serif\\\">\\n\" +\n res.raw +\n '\\n</code>',\n });\n }\n done = true;\n ok(res);\n }\n if (!done) {\n var strings_1 = [];\n var num_1 = dt.items.length;\n each(dt.items, function (item, idx) {\n var kind = item.kind;\n var type = item.type;\n if (kind === 'file') {\n var cp = dt.files[idx];\n if (!type && cp.name) {\n var bits = cp.name.split('.');\n type = bits[bits.length - 1];\n }\n var name_1 = cp ? cp.name : bbn._('untitled');\n var size = cp ? cp.size : null;\n var lastModified = cp ? cp.lastModified : null;\n var blob = item.getAsFile();\n if (blob) {\n done = true;\n num_1--;\n res.files.push({\n type: type,\n data: blob,\n name: name_1,\n size: size,\n mdate: lastModified,\n });\n strings_1.push(name_1);\n if (!num_1) {\n if (!res.raw) {\n res.raw = strings_1.join(', ');\n }\n ok(res);\n }\n }\n else {\n bbn.fn.defaultErrorFunction(bbn._('Impossible to read the file') + ' ' + name_1);\n }\n }\n else {\n done = true;\n item.getAsString(function (data) {\n num_1--;\n res.str.push({\n type: type,\n data: data,\n });\n if (type === 'text/plain') {\n strings_1.push(name);\n }\n if (!num_1) {\n if (!res.raw) {\n res.raw = strings_1.join(', ');\n }\n ok(res);\n }\n });\n }\n });\n }\n if (!done) {\n setTimeout(function () {\n ok(res);\n });\n }\n });\n return p;\n};\nexport { getEventData };\n","import { log } from './log.js';\n/**\n * Logs the given argument in the browser's console highlighting it with a green background.\n * @method happy\n * @global\n * @example\n * ``` javascript\n * bbn.fn.happy('I want to log the success of my function');\n * ```\n * @memberof bbn.fn\n * @param {...any} args\n * @returns\n */\nvar happy = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n args.unshift({\n _bbn_console_level: 3,\n _bbn_console_style: 'color: white; background: green; font-size: 18px;',\n });\n log.apply(this, args);\n return this;\n};\nexport { happy };\n","var history = function () {\n return window.history || false;\n};\nexport { history };\n","import { log } from './log.js';\n/**\n * Logs the given argument in the browser's console highlighting it with a blue background.\n * @method info\n * @global\n * @memberof bbn.fn\n * @param {...any} args\n * @returns {*}\n */\nvar info = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n args.unshift({\n //_bbn_console_mode: \"info\",\n _bbn_console_level: 4,\n _bbn_console_style: 'color: #EEE; background: blue; font-size: 12px;',\n });\n log.apply(this, args);\n return this;\n};\nexport { info };\n","/**\n * Tells if the interface is beeing active for the past x seconds.\n * @method isActiveInterface\n * @global\n * @example\n * // true\n * ``` javascript\n * bbn.fn.isActiveInterface(54764654);\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isActiveInterface = function (secs) {\n if (secs === void 0) { secs = 600; }\n if (!bbn.env.last_focus) {\n return false;\n }\n var t = new Date().getTime();\n return t - bbn.env.last_focus < secs * 1000;\n};\nexport { isActiveInterface };\n","import { getDeviceType } from '../browser/getDeviceType.js';\n/**\n * Returns true if the current device type is a desktop.\n * @method isDesktopDevice\n * @global\n * @example\n * ``` javascript\n * bbn.fn.isDesktopDevice();\n * // true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isDesktopDevice = function () {\n return getDeviceType() === 'desktop';\n};\nexport { isDesktopDevice };\n","/**\n * Checks whether the given elemet is focused or not.\n *\n * @method isFocused\n * @global\n * @example\n * ``` javascript\n * bbn.fn.isFocused(document.getElementById('input_name'));\n * // false\n * bbn.fn.isFocused(bbn.sel('.container'));\n * // true\n * ```\n * @memberof bbn.fn\n *\n * @param {Element} ele The element to be checked for focus\n * @param {Boolean} contain If true will check if the focused element is contained in the given element\n *\n * @returns {Boolean} True if focused\n */\nvar isFocused = function (ele, contain) {\n if (contain === void 0) { contain = false; }\n return ele === document.activeElement || (contain && ele.contains && ele.contains(document.activeElement));\n};\nexport { isFocused };\n","import { isMobileDevice } from './isMobileDevice.js';\nimport { isTabletDevice } from './isTabletDevice.js';\n/**\n * Returns true if the current browser is on a mobile device (smartphone or tablet).\n * @method isMobile\n * @global\n * @example\n * ``` javascript\n * bbn.fn.isMobile();\n * // false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isMobile = function () {\n return isMobileDevice() || isTabletDevice();\n};\nexport { isMobile };\n","import { getDeviceType } from '../browser/getDeviceType.js';\nvar isMobileDevice = function () {\n return getDeviceType() === 'mobile';\n};\nexport { isMobileDevice };\n","import { getDeviceType } from '../browser/getDeviceType.js';\n/**\n * Returns true if the current device type is a tablet.\n * @method isTabletDevice\n * @global\n * @example\n * ``` javascript\n * bbn.fn.isTabletDevice();\n * // false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isTabletDevice = function () {\n return getDeviceType() === 'tablet';\n};\nexport { isTabletDevice };\n","import { isFunction } from '../type/isFunction.js';\n/**\n * Logs the given arguments in the browser's console.\n * @method log\n * @global\n * @example\n * ```javascript\n * //'hello'\n * bbn.fn.log('hello');\n * ```\n * @memberof bbn.fn\n * @param {...any} args\n * @returns\n */\nvar log = function () {\n var _a, _b;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (window.console !== undefined) {\n var cfg = void 0;\n var level = 5;\n var fn = 'log';\n if (args[0] && typeof args[0] === 'object' && args[0]._bbn_console_style) {\n if (args[0]._bbn_console_mode && isFunction(console[args[0]._bbn_console_mode])) {\n fn = args[0]._bbn_console_mode;\n }\n else {\n cfg = args[0]._bbn_console_style;\n level = args[0]._bbn_console_level;\n }\n args.shift();\n }\n var exec = window.console[fn];\n if (((_b = (_a = window['bbn']) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.loggingLevel) >= level) {\n var i = 0;\n while (i < args.length) {\n var t = typeof args[i];\n var consoleArguments = [args[i]];\n if (t === 'string' || t === 'number') {\n consoleArguments.unshift('%c %s ', cfg);\n }\n exec.apply(window.console, consoleArguments);\n i++;\n }\n }\n }\n return this;\n};\nexport { log };\n","var replaceSelection = function (html, selectInserted) {\n var sel, range, fragment;\n sel = window.getSelection();\n // Test that the Selection object contains at least one Range\n if (sel.getRangeAt && sel.rangeCount) {\n // Get the first Range (only Firefox supports more than one)\n range = window.getSelection().getRangeAt(0);\n range.deleteContents();\n // Create a DocumentFragment to insert and populate it with HTML\n // Need to test for the existence of range.createContextualFragment\n // because it's non-standard and IE 9 does not support it\n if (range.createContextualFragment) {\n fragment = range.createContextualFragment(html);\n }\n else {\n // In IE 9 we need to use innerHTML of a temporary element\n var div = document.createElement('div');\n var child = void 0;\n div.innerHTML = html;\n fragment = document.createDocumentFragment();\n while ((child = div.firstChild)) {\n fragment.appendChild(child);\n }\n }\n var firstInsertedNode = fragment.firstChild;\n var lastInsertedNode = fragment.lastChild;\n range.insertNode(fragment);\n sel.removeAllRanges();\n if (selectInserted) {\n if (firstInsertedNode) {\n range.setStartBefore(firstInsertedNode);\n range.setEndAfter(lastInsertedNode);\n }\n sel.addRange(range);\n }\n else {\n range.setStartAfter(lastInsertedNode);\n sel.addRange(range);\n }\n }\n};\nexport { replaceSelection };\n","/**\n * Selects the content of an element.\n *\n * @method selectElementText\n * @global\n * @example\n * ``` javascript\n * bbn.fn.selectElementText(document.getElementById('my_input_id'));\n * // false\n * bbn.fn.selectElementText(bbn.$('#my_span_id'));\n * // true\n * ```\n * @memberof bbn.fn\n *\n * @param {Element} ele The element in which the text should be selected\n * @param {Boolean} win The window object\n *\n * @returns {Boolean} True if focused\n */\nvar selectElementText = function (ele, win) {\n if (win === void 0) { win = null; }\n win = win || window;\n if (ele instanceof HTMLInputElement) {\n ele.select();\n return;\n }\n var doc = win.document;\n var sel;\n var range;\n if (win.getSelection && doc.createRange) {\n sel = win.getSelection();\n range = doc.createRange();\n range.selectNodeContents(ele);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n else if (('createTextRange' in doc.body) && (typeof doc.body.createTextRange === 'function')) {\n range = doc.body.createTextRange();\n range.moveToElementText(ele);\n range.select();\n }\n};\nexport { selectElementText };\n","/**\n * Creates a cookie and assigns it to document.cookie.\n * @method setCookie\n * @global\n * @example\n * ``` javascript\n * bbn.fn.setCookie('lang', 'en', 2);\n * ```\n * @memberof bbn.fn\n * @param {String} name The name of the cookie.\n * @param {String} value The value of the cookie.\n * @param {Number} days The days before expiration of the cookie.\n * @returns\n */\nvar setCookie = function (name, value, days) {\n var expires = '';\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n var st = escape(JSON.stringify({ value: value }));\n document.cookie = name + '=' + st + expires + '; path=/';\n};\nexport { setCookie };\n","import { resize } from '../style/resize.js';\nvar toggleFullScreen = function () {\n if ('mozRequestFullScreen' in window.document.documentElement) {\n if (window.document['mozFullScreen']) {\n window.document['mozCancelFullScreen']();\n }\n else if (typeof window.document.documentElement.mozRequestFullScreen === 'function') {\n window.document.documentElement.mozRequestFullScreen();\n }\n }\n else if ('webkitRequestFullScreen' in window.document.documentElement) {\n if (window.document['webkitIsFullScreen']) {\n window.document['webkitCancelFullScreen']();\n }\n else if (typeof window.document.documentElement.webkitRequestFullScreen === 'function') {\n window.document.documentElement.webkitRequestFullScreen();\n }\n }\n else if ('msRequestFullScreen' in window.document.documentElement) {\n if (window.document['msFullscreenEnabled']) {\n window.document['msExitFullscreen']();\n }\n else if (typeof window.document.documentElement.msRequestFullScreen === 'function') {\n window.document.documentElement.msRequestFullScreen();\n }\n }\n else if ('requestFullscreen' in window.document) {\n if (window.document.fullscreenEnabled) {\n window.document.exitFullscreen();\n }\n else {\n window.document.documentElement.requestFullscreen();\n }\n }\n setTimeout(function () {\n resize();\n }, 0);\n};\nexport { toggleFullScreen };\n","import { log } from './log.js';\n/**\n * Logs the given argument in the browser's console highlighting it with a yellow background and red color.\n * @method warning\n * @global\n * @example\n * ```javascript\n * bbn.fn.warning('whatever you want to log as a warning');\n * ```\n * @memberof bbn.fn\n * @param {...any} args\n * @returns\n */\nvar warning = function (message) {\n var args = ['BBN: ' + message];\n var obj = {\n _bbn_console_mode: 'warn',\n _bbn_console_level: 2,\n _bbn_console_style: 'color: #E64141; background: #F7E195; font-size: 14px',\n };\n args.unshift(obj);\n log.apply(this, args);\n};\nexport { warning };\n","var arrayBuffer2String = function (buf) {\n return String.fromCharCode.apply(null, new Uint16Array(buf));\n};\nexport { arrayBuffer2String };\n","/**\n * Returns a canvas in a HTML element img\n * @method canvasToImage\n * @global\n * ``` javascript\n * //<img src=\"data:image/png;base64,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\">\n * let a = '<canvas width=\"60\" height=\"32\"></canvas>';\n * bbn.fn.canvasToImage(a);\n * ```\n *\n * @memberof bbn.fn\n * @param {canvas} canvas\n * @returns {HTMLElement}\n */\nvar canvasToImage = function (canvas) {\n var img = new Image();\n img.src = canvas.toDataURL('image/png');\n return img;\n};\nexport { canvasToImage };\n","/**\n * Returns the hex color of the given rgb or color name.\n * @method colorToHex\n * @global\n * @example\n * ```javascript\n * //\"#ff0000\"\n * bbn.fn.colorToHex('red');\n * ```\n *\n * @example\n * ```javascript\n * //\"#ff0000\"\n * bbn.fn.colorToHex('rgb(255,0,0)');\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar colorToHex = function (color) {\n var canvas = document.createElement(\"canvas\").getContext(\"2d\");\n canvas.fillStyle = color;\n return canvas.fillStyle;\n};\nexport { colorToHex };\n","/**\n * Parses XML and returns an object.\n *\n * Picked from https://stackoverflow.com/questions/4200913/xml-to-javascript-object\n *\n * @memberof bbn.fn\n * @param {String} xml The XML to be parsed\n * @param {Array} arrayTags An array of tag names which should always be returned as array (even if single)\n * @returns {Object}\n */\nvar fromXml = function (xml, arrayTags) {\n var dom = null;\n if (window.DOMParser)\n dom = new DOMParser().parseFromString(xml, \"text/xml\");\n else if (window[\"ActiveXObject\"]) {\n dom = new window[\"ActiveXObject\"](\"Microsoft.XMLDOM\");\n dom.async = false;\n if (!dom.loadXML(xml))\n throw dom.parseError.reason + \" \" + dom.parseError.srcText;\n }\n else\n throw new Error(\"cannot parse xml string!\");\n function parseNode(xmlNode, result) {\n if (xmlNode.nodeName == \"#text\") {\n var v = xmlNode.nodeValue;\n if (v.trim())\n result[\"#text\"] = v;\n return;\n }\n var jsonNode = {}, existing = result[xmlNode.nodeName];\n if (existing) {\n if (!Array.isArray(existing))\n result[xmlNode.nodeName] = [existing, jsonNode];\n else\n result[xmlNode.nodeName].push(jsonNode);\n }\n else {\n if (arrayTags && arrayTags.indexOf(xmlNode.nodeName) != -1)\n result[xmlNode.nodeName] = [jsonNode];\n else\n result[xmlNode.nodeName] = jsonNode;\n }\n if (xmlNode.attributes)\n for (var _i = 0, _a = xmlNode.attributes; _i < _a.length; _i++) {\n var attribute = _a[_i];\n jsonNode[attribute.nodeName] = attribute.nodeValue;\n }\n for (var _b = 0, _c = xmlNode.childNodes; _b < _c.length; _b++) {\n var node = _c[_b];\n parseNode(node, jsonNode);\n }\n }\n var result = {};\n for (var _i = 0, _a = dom.childNodes; _i < _a.length; _i++) {\n var node = _a[_i];\n parseNode(node, result);\n }\n return result;\n};\nexport { fromXml };\n","/**\n * Convert an hexadecimmal string to RGB.\n *\n * Converts a string that expresses a color in hexadecimal format into an object with\n * the properties that define the color and the corresponding value.\n *\n * @method hex2rgb\n * @global\n *\n * @example\n * ```javascript\n * //{r:255, g:0, b:0}\n * bbn.fn.hex2rgb(\"#FF0000\");\n * ```\n *\n * @memberof bbn.fn\n * @returns {*}\n */\nvar hex2rgb = function (hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\nexport { hex2rgb };\n","/**\n * Draws the given html image nto a canvas.\n * @method imageToCanvas\n * @example\n * ``` javascript\n * //<canvas width=\"60\" height=\"32\"></canvas>\n * bbn.fn.imageToCanvas('<img src=\"path/myImage.png\">');\n * ```\n * @global\n * @memberof bbn.fn\n * @param {HTMLElement} img\n * @returns {HTMLCanvasElement}\n */\nvar imageToCanvas = function (img) {\n var canvas = document.createElement('canvas');\n canvas.width = img.width;\n canvas.height = img.height;\n canvas.getContext('2d').drawImage(img, 0, 0);\n return canvas;\n};\nexport { imageToCanvas };\n","import { imageToCanvas } from './imageToCanvas.js';\nvar imgToBase64 = function (img, type) {\n if (type === void 0) { type = 'image/png'; }\n var canvas = imageToCanvas(img);\n return canvas.toDataURL(type);\n};\nexport { imgToBase64 };\n","/**\n * Convert an RGB string to hexadecimal.\n *\n * Passing a string with the format that defines the rgb value as an argument,\n * it will return the corresponding string in hexadecimal format.\n *\n * @method rgb2hex\n * @global\n *\n * @example\n * ```javascript\n * //\"#ff0000\"\n * bbn.fn.rgb2hex(\"rgb(255, 0, 0)\");\n * ```\n * @memberof bbn.fn\n * @param {String} rgb\n * @returns {String}\n */\nvar rgb2hex = function (rgb) {\n rgb = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n return rgb && rgb.length === 4\n ? \"#\" +\n (\"0\" + parseInt(rgb[1], 10).toString(16)).slice(-2) +\n (\"0\" + parseInt(rgb[2], 10).toString(16)).slice(-2) +\n (\"0\" + parseInt(rgb[3], 10).toString(16)).slice(-2)\n : \"\";\n};\nexport { rgb2hex };\n","var string2ArrayBuffer = function (str) {\n var buf = new ArrayBuffer(str.length * 2); // 2 bytes for each char\n var bufView = new Uint16Array(buf);\n for (var i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n};\nexport { string2ArrayBuffer };\n","import { each } from '../loop/each.js';\nimport { isArray } from '../type/isArray.js';\nimport { replaceAll } from '../string/replaceAll.js';\n/**\n * Returns a CSV string from the given array of arrays or objects.\n *\n * @method toCSV\n * @global\n * @example\n * ```javascript\n * bbn.fn.toCSV([['a', 'b', 'c'], ['d', 'e', 'f']]);\n * // \"a\",\"b\",\"c\";\n * // \"d\",\"e\",\"f\"\n * ```\n * @example\n * ```javascript\n * bbn.fn.toCSV([{name: \"Capuche\", fname: \"Marc-Antoine\"}, {name: \"Orfin\", fname: \"Louis\"}]);\n * // \"Capuche\",\"Marc-Antoine\";\n * // \"Orfin\",\"Louis\"\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to convert\n * @param {String} [valSep=,] The value separator character\n * @param {String} [rowSep=;] The row separator character\n * @param {String} [valEsc=\"] The string escaper character\n * @returns {String} A CSV string\n */\nvar toCSV = function (arr, valSep, rowSep, valEsc) {\n if (valSep === void 0) { valSep = \",\"; }\n if (rowSep === void 0) { rowSep = \"\"; }\n if (valEsc === void 0) { valEsc = '\"'; }\n if (!valSep) {\n valSep = \",\";\n }\n if (!valEsc) {\n valEsc = '\"';\n }\n var csvContent = \"\";\n var total = arr.length;\n each(arr, function (a, i) {\n var num = isArray(a) ? a.length : Object.values(a).length;\n var j = 0;\n each(a, function (b) {\n if (typeof b === \"string\") {\n csvContent += valEsc + replaceAll(valEsc, \"\\\\\" + valEsc, b) + valEsc;\n }\n else if (b === 0) {\n csvContent += \"0\";\n }\n else if (!b) {\n csvContent += valEsc + valEsc;\n }\n else {\n csvContent += b.toString ? b.toString() : valEsc + valEsc;\n }\n j++;\n if (j < num) {\n csvContent += valSep;\n }\n });\n if (i < total - 1) {\n csvContent += rowSep + \"\\n\";\n }\n });\n return csvContent;\n};\nexport { toCSV };\n","import dayjs from 'dayjs';\nimport dayjs_plugin_calendar from 'dayjs/plugin/calendar.js';\nimport { fdate } from './fdate.js';\nimport { date } from './date.js';\nimport { isDate } from '../type/isDate.js';\nimport { isString } from '../type/isString.js';\nvar bbn = {\n _: function (st) { return st; }\n};\ndayjs.extend(dayjs_plugin_calendar);\n/**\n * Returns a date relative to the current day.\n *\n * @method calendar\n * @global\n *\n * @example\n * ``` javascript\n * //\"2020-04-16 16:15:23\"\n * let date = new Date();\n * bbn.fn.dateSQL(date,false);\n * ```\n *\n * @memberof bbn.fn\n * @param {Date|String} d\n * @param {String | Boolean} wrong_result Whether or not include the time in the date\n * @returns {String}\n */\nvar calendar = function (d, wrong_result) {\n if (wrong_result === void 0) { wrong_result = false; }\n if (undefined === dayjs) {\n return fdate(d, wrong_result);\n }\n var r = date(d);\n if (!isDate(r)) {\n return wrong_result && isString(wrong_result) ? wrong_result : '';\n }\n return dayjs(r).calendar(null, {\n sameDay: '[' + bbn._('Today') + ']',\n nextDay: '[' + bbn._('Tomorrow') + ']',\n nextWeek: 'ddd D',\n lastDay: '[' + bbn._('Yesterday') + ']',\n lastWeek: 'ddd D',\n sameElse: 'L',\n });\n};\nexport { calendar };\n","import { each } from '../loop/each.js';\nvar _private = [];\n/**\n * Starts a timer and gives it a name.\n * @method startChrono\n * @global\n * ``` javascript\n * bbn.fn.startChrono('myChrono');\n * ```\n * @memberof bbn.fn\n * @returns\n */\nvar startChrono = function (name) {\n var now = new Date().getTime();\n var h1 = 3600 * 1000;\n if (_private.length) {\n each(_private, function (t, n) {\n if (now - t > h1) {\n delete _private[n];\n }\n });\n now = new Date().getTime();\n }\n _private[name] = now;\n};\n/**\n * @method stopChrono\n * @global\n * @example\n * ``` javascript\n * bbn.fn.stopChrono('myChrono');\n * // 20162\n * ```\n * @memberof bbn.fn\n * @param {String} name\n * @returns {Number}\n */\nvar stopChrono = function (name) {\n if (_private[name]) {\n var now = new Date().getTime();\n var diff = now - _private[name];\n return diff;\n }\n};\nexport { startChrono, stopChrono };\n","import { isNumber } from '../type/isNumber.js';\nimport { substr } from '../string/substr.js';\nimport { isDate } from '../type/isDate.js';\n/**\n * Returns a date object from the given argument.\n *\n * @method date\n * @global\n *\n * @example\n * ``` javascript\n * //Mon Feb 11 2019 12:00:00 GMT+0100 (Central European Standard Time)\n * bbn.fn.date('2019/02/11')\n * ```\n *\n * @memberof bbn.fn\n * @param {String|Number} v\n * @returns {date}\n */\nvar date = function (v) {\n var d = false, t = typeof v;\n if (v === undefined) {\n return new Date();\n }\n if (t === 'number' || (isNumber(v) && v !== '')) {\n if (v < 10000000000) {\n v = v * 1000;\n }\n return new Date(v);\n }\n if (t === 'string') {\n if (v.length === 10) {\n return new Date(parseInt(substr(v, 0, 4)), parseInt(substr(v, 5, 2)) - 1, parseInt(substr(v, 8, 2)), 12);\n }\n else if (v.length === 19) {\n return new Date(parseInt(substr(v, 0, 4)), parseInt(substr(v, 5, 2)) - 1, parseInt(substr(v, 8, 2)), parseInt(substr(v, 11, 2)), parseInt(substr(v, 14, 2)), parseInt(substr(v, 17, 2)));\n }\n }\n else if (isDate(v)) {\n return v;\n }\n return d;\n};\nexport { date };\n","import { date } from './date.js';\nimport dayjs from 'dayjs';\n/**\n * Returns a date with SQL format.\n *\n * @method dateSQL\n * @global\n *\n * @example\n * ``` javascript\n * //\"2020-04-16 16:15:23\"\n * let date = new Date();\n * bbn.fn.dateSQL(date,false);\n * ```\n *\n * @memberof bbn.fn\n * @param {Date|String} v\n * @param {Boolean} dayOnly Whether or not include the time in the date\n * @returns {String}\n */\nvar dateSQL = function (v, dayOnly) {\n var value = date(v);\n if (value) {\n return dayjs(value).format('YYYY-MM-DD' + (dayOnly ? '' : ' HH:mm:ss'));\n }\n};\nexport { dateSQL };\n","import { date } from './date.js';\n/**\n * Returns the number of days of the month given in the date.\n * @method daysInMonth\n * @global\n *\n * @example\n * ``` javascript\n * //30\n * bbn.fn.daysInMonth(new Date());\n * ```\n *\n * @memberof bbn.fn\n * @param {String|Date} v\n * @returns {Number}\n */\nvar daysInMonth = function (v) {\n var d = date(v);\n if (d) {\n return dayjs(d).daysInMonth();\n }\n return false;\n};\nexport { daysInMonth };\n","import { fdatetime } from './fdatetime.js';\nimport { date } from './date.js';\nimport { isDate } from '../type/isDate.js';\nimport { isString } from '../type/isString.js';\n/**\n * @method fdate\n * @todo Add method description for fdate\n * @global\n * @memberof bbn.fn\n * @param {String|Date} d\n * @param {String} wrong_result\n * @returns\n */\nvar fdate = function (d, wrong_result) {\n if (wrong_result === void 0) { wrong_result = false; }\n // Retro compatibility\n if (wrong_result === true) {\n return fdatetime(d);\n }\n var r = date(d);\n if (!isDate(r)) {\n return wrong_result && isString(wrong_result) ? wrong_result : '';\n }\n if (undefined !== dayjs) {\n return dayjs(r).format('L');\n }\n return r.toLocaleDateString();\n};\nexport { fdate };\n","import { date } from './date.js';\nimport { isDate } from '../type/isDate.js';\nimport { isString } from '../type/isString.js';\n/**\n * @method fdatetime\n * @todo Add method description for fdatetime\n * @global\n * @memberof bbn.fn\n * @returns {*}\n */\nvar fdatetime = function (d, wrong_result) {\n if (wrong_result === void 0) { wrong_result = false; }\n var r = date(d);\n if (!isDate(r)) {\n return wrong_result && isString(wrong_result) ? wrong_result : '';\n }\n if (undefined !== dayjs) {\n //return dayjs(r).format('lll');\n return dayjs(r).calendar(null, {\n sameDay: '[' + bbn._('Today') + '] HH:mm',\n nextDay: '[' + bbn._('Tomorrow') + '] HH:mm',\n nextWeek: 'ddd D HH:mm',\n lastDay: '[' + bbn._('Yesterday') + '] HH:mm',\n lastWeek: 'ddd D HH:mm',\n sameElse: 'DD/MM/YYYY HH:mm',\n });\n //return dayjs(r).format(\"DD/MM/YYYY HH:mm\")\n }\n return r.toLocaleDateString();\n};\nexport { fdatetime };\n","var formatDate = function (date, format) {\n return dayjs(date).format(format);\n};\nexport { formatDate };\n","import { date } from './date.js';\nimport { isDate } from '../type/isDate.js';\nimport { isString } from '../type/isString.js';\n/**\n * @method ftime\n * @todo Add method description for ftime\n * @global\n * @memberof bbn.fn\n * @returns {*}\n */\nvar ftime = function (d, wrong_result) {\n var r = date(d);\n if (!isDate(r)) {\n return wrong_result && isString(wrong_result) ? wrong_result : '';\n }\n if (undefined !== dayjs) {\n return dayjs(r).calendar();\n }\n return r.toLocaleDateString();\n};\nexport { ftime };\n","import { date } from './date.js';\n/**\n * @method getDay\n * @ignore\n * @todo Add method description for getDay\n * @global\n * @memberof bbn.fn\n * @param {String|Date} v\n * @returns\n */\nvar getDay = function (v) {\n var biss = 1972;\n var d = date(v);\n if (d) {\n var t = d.getTime(), y = d.getYear(), m = d.getMonth(), days = (y - 1970) * 365;\n if (m < 2) {\n y--;\n }\n for (var i = biss; i <= y; i += 4) {\n days++;\n }\n return days + Math.floor(t / (24 * 3600000));\n }\n return false;\n};\nexport { getDay };\n","/**\n * Returns the timestamp of the given seconds if an argument is given, else returns the timestamp of new Date().\n * @method timestamp\n * @global\n * @example\n * ```javascript\n * //1587031047918\n * bbn.fn.timestamp();\n * ```\n * @memberof bbn.fn\n * @param {Number} seconds\n * @returns {Boolean}\n */\nvar timestamp = function (seconds) {\n if (seconds === void 0) { seconds = false; }\n var r = new Date().getTime();\n return seconds ? Math.round(r / 1000) : r;\n};\nexport { timestamp };\n","import { log } from '../browser/log.js';\nvar defaultAjaxAbortFunction = function (message, url) {\n if (url === void 0) { url = \"\"; }\n log(message);\n};\nexport { defaultAjaxAbortFunction };\n","import { log } from '../browser/log.js';\nvar defaultAjaxErrorFunction = function (jqXHR, textStatus, errorThrown) {\n if (textStatus === void 0) { textStatus = null; }\n if (errorThrown === void 0) { errorThrown = null; }\n log(textStatus, errorThrown);\n};\nexport { defaultAjaxErrorFunction };\n","var defaultAlertFunction = function (msg, title) {\n if (title === void 0) { title = null; }\n /** @todo */\n alert(msg);\n};\nexport { defaultAlertFunction };\n","import { isFunction } from '../type/isFunction.js';\nvar defaultConfirmFunction = function (text, yesFn, noFn) {\n if (noFn === void 0) { noFn = null; }\n var ok = 0;\n if (confirm(text)) {\n if (isFunction(yesFn)) {\n yesFn();\n ok = 1;\n }\n }\n if (!ok && isFunction(noFn)) {\n noFn();\n }\n};\nexport { defaultConfirmFunction };\n","var defaultEndLoadingFunction = function (url, timestamp, data, res) {\n if (data === void 0) { data = null; }\n if (res === void 0) { res = null; }\n return true;\n};\nexport { defaultEndLoadingFunction };\n","import { log } from '../browser/log.js';\nvar defaultErrorFunction = function (message) {\n log(message);\n};\nexport { defaultErrorFunction };\n","var defaultHistoryFunction = function (obj) {\n return true;\n};\nexport { defaultHistoryFunction };\n","var defaultLinkFunction = function (responseObj, ele) {\n return true;\n};\nexport { defaultLinkFunction };\n","var defaultPostLinkFunction = function (r, ele) {\n if (ele === void 0) { ele = null; }\n return true;\n};\nexport { defaultPostLinkFunction };\n","import { log } from '../browser/log.js';\nvar defaultPreLinkFunction = function (url, force, ele) {\n if (force === void 0) { force = false; }\n if (ele === void 0) { ele = null; }\n log(\"defaultPreLinkFunction\", url, force, ele);\n return true;\n};\nexport { defaultPreLinkFunction };\n","var defaultResizeFunction = function () {\n return true;\n};\nexport { defaultResizeFunction };\n","var defaultStartLoadingFunction = function (url, tst, data, requestId) {\n if (data === void 0) { data = null; }\n if (requestId === void 0) { requestId = null; }\n return true;\n};\nexport { defaultStartLoadingFunction };\n","import { iterate } from '../loop/iterate.js';\n/**\n * Adds the given data to the given form by inserting hidden inputs.\n *\n * @method addInputs\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * let o = {name: \"Smith\", fname: \"John\"};\n * bbn.fn.addInputs(document.getElementById('myform'), o, 'bbn');\n * // Will write at the end of the given form:\n * // <input type=\"hidden\" name=\"bbn[name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"bbn[fname]\" value=\"John\">\n *\n * ```\n *\n * @example\n * ```javascript\n * let o = {\n * People: [\n * {name: \"Smith\", fname: \"John\"},\n * {name: \"Smith\", fname: \"Eileen\"}\n * ],\n * Dates: ['2021-08-25', '2021-09-06']\n * };\n * bbn.fn.addInputs(document.getElementById('myform'), o);\n * // Will write at the end of the given form:\n * // <input type=\"hidden\" name=\"People[0][name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"People[0][fname]\" value=\"John\">\n * // <input type=\"hidden\" name=\"People[1][name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"People[1][fname]\" value=\"Eileen\">\n * // <input type=\"hidden\" name=\"Dates[0]\" value=\"2021-08-25\">\n * // <input type=\"hidden\" name=\"Dates[1]\" value=\"2021-09-06\">\n * ```\n *\n * @param {HTMLElement} form The form to which the inputs should be added\n * @param {Object} params The data which will be added\n * @param {String} prefix The optional object's name of the fields in the form\n * @returns {undefined}\n */\nvar addInputs = function (form, params, prefix) {\n if (params === void 0) { params = null; }\n if (prefix === void 0) { prefix = ''; }\n if (form && form.tagName === 'FORM') {\n var appendToForm_1 = function (name, val) {\n var input = document.createElement('input');\n input.setAttribute('type', 'hidden');\n input.setAttribute('name', name);\n input.setAttribute('value', val);\n form.appendChild(input);\n };\n params = JSON.parse(JSON.stringify(params || {}));\n prefix = prefix || '';\n if (params) {\n iterate(params, function (param, key) {\n var name = prefix ? \"\".concat(prefix, \"[\").concat(key, \"]\") : key;\n if (param instanceof Date) {\n appendToForm_1(name, param.toISOString());\n }\n else if (param instanceof Array) {\n param.forEach(function (e, i) {\n var tempName = \"\".concat(name, \"[\").concat(i, \"]\");\n if (typeof e === 'object') {\n addInputs(form, e, tempName);\n }\n else {\n appendToForm_1(tempName, e.toString());\n }\n });\n }\n else if (typeof param === 'object' && !(param instanceof File)) {\n addInputs(form, param, name);\n }\n else {\n appendToForm_1(name, param.toString());\n }\n });\n }\n }\n};\nexport { addInputs };\n","/**\n * Returns the value of a form's input, differenciating between checkboxes, radio and other inputs.\n *\n * @method fieldValue\n * @global\n * @memberof bbn.fn\n * @param {HTMLElement} field The input element\n *\n * @returns {Mixed} The value\n */\nvar fieldValue = function (field) {\n var v;\n if (field.type === 'checkbox') {\n if (field.checked) {\n v = field.value;\n if (!v) {\n v = 1;\n }\n }\n else {\n v = 0;\n }\n }\n else if (field.type === 'radio') {\n if (field.checked) {\n v = field.value;\n }\n }\n else {\n v = field.value;\n }\n return v;\n};\nexport { fieldValue };\n","import { each } from '../loop/each.js';\nimport { fieldValue } from './fieldValue.js';\nimport { replaceAll } from '../string/replaceAll.js';\nimport { substr } from '../string/substr.js';\n/**\n * Returns all the data contained in a form as a single object.\n *\n * @method formdata\n * @global\n * @memberof bbn.fn\n * @fires {*}\n *\n * @example\n * ```javascript\n * // <form id=\"myform\">\n * // <input type=\"hidden\" name=\"bbn[name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"bbn[fname]\" value=\"John\">\n * // </form>\n * bbn.fn.formdata(document.getElementById('myform'));\n * // {name: \"Smith\", fname: \"John\"};\n *\n * ```\n *\n * @example\n * ```javascript\n * // <form id=\"myform\">\n * // <input type=\"hidden\" name=\"People[0][name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"People[0][fname]\" value=\"John\">\n * // <input type=\"hidden\" name=\"People[1][name]\" value=\"Smith\">\n * // <input type=\"hidden\" name=\"People[1][fname]\" value=\"Eileen\">\n * // <input type=\"hidden\" name=\"Dates[0]\" value=\"2021-08-25\">\n * // <input type=\"hidden\" name=\"Dates[1]\" value=\"2021-09-06\">\n * // </form>\n * bbn.fn.formdata(document.getElementById('myform'));\n * // {\n * // People: [\n * // {name: \"Smith\", fname: \"John\"},\n * // {name: \"Smith\", fname: \"Eileen\"}\n * // ],\n * // Dates: ['2021-08-25', '2021-09-06']\n * // }\n * ```\n *\n * @param {HTMLElementL} form\n *\n * @returns {Object}\n */\nvar formdata = function (form) {\n var $inputs = form.querySelectorAll('input[name],select[name],textarea[name],button[name]');\n var res = {};\n var n;\n var v;\n each($inputs, function (input, i) {\n v = fieldValue(input);\n if (v !== undefined && !input.disabled) {\n var name_1 = input.name;\n if (name_1.indexOf('[]') === -1 &&\n name_1.indexOf('[') > -1 &&\n name_1.indexOf(']') > -1 &&\n name_1.lastIndexOf(']') === name_1.length - 1) {\n name_1 = replaceAll('][', '.', name_1);\n name_1 = replaceAll('[', '.', name_1);\n name_1 = replaceAll(']', '', name_1);\n }\n if (name_1.length > 2 && name_1.indexOf('[]') === name_1.length - 2) {\n n = substr(name_1, 0, name_1.length - 2);\n if (res[n] === undefined) {\n res[n] = [];\n }\n res[n].push(v);\n }\n else if (name_1.indexOf('.') > -1) {\n var tmp = void 0, parts = name_1.split('.');\n tmp = res;\n for (var i_1 = 0; i_1 < parts.length; i_1++) {\n if (res[parts[i_1]] === undefined) {\n if (i_1 < parts.length - 1) {\n tmp[parts[i_1]] = {};\n }\n else {\n tmp[parts[i_1]] = v;\n }\n }\n tmp = tmp[parts[i_1]];\n }\n }\n else {\n res[name_1] = v;\n }\n }\n });\n // return num_changes ? res : false;\n return res;\n};\nexport { formdata };\n","import { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { isObject } from '../type/isObject.js';\nimport { iterate } from '../loop/iterate.js';\nimport { isNull } from '../type/isNull.js';\n/**\n * @method objectToFormData\n * @todo Add method description for objectToFormData\n * @global\n * @memberof bbn.fn\n * @param {Object|Array|File} obj\n * @param {String} key\n * @param {Array} ignoreList\n * @returns\n */\nvar objectToFormData = function (obj, key, ignoreList) {\n if (key === void 0) { key = ''; }\n if (ignoreList === void 0) { ignoreList = null; }\n var formData = new FormData();\n var appendFormData = function (data, key) {\n if (key === void 0) { key = ''; }\n if (!ignoreList || (isArray(ignoreList) && !ignoreList.includes(key))) {\n if (data instanceof File) {\n formData.append(key, data);\n }\n else if (isArray(data)) {\n each(data, function (v, i) {\n appendFormData(v, key + '[' + i + ']');\n });\n }\n else if (isObject(data) && Object.keys(data).length) {\n iterate(data, function (v, i) {\n if (i in data) {\n appendFormData(v, !key ? i : key + '[' + i + ']');\n }\n });\n }\n else {\n if (!isNull(data) && data !== undefined) {\n formData.append(key, data);\n }\n }\n }\n };\n appendFormData(obj, key);\n return formData;\n};\nexport { objectToFormData };\n","import { formdata } from './formdata.js';\nimport { post } from '../ajax/post.js';\n/**\n * Submit a form's data through an Ajax request.\n *\n * It will also prevent the event if given, and execute the given callback,\n * or look for one in the data-script attribute.\n *\n * @method submit\n * @global\n * @memberof bbn.fn\n * @fires {*}\n * @fires {*}\n *\n * @param {HTMLElement} form The form to submit\n * @param {Event} e The optional submit event - which will be prevented\n * @param {Function} fn An optional callback function\n *\n * @returns {*}\n */\nvar submit = function (form, e, fn) {\n var url = form.getAttribute('action') || bbn.env.path;\n var data;\n if (url === '') {\n url = '.';\n }\n //if ( (typeof(url) === 'string') && (url.indexOf(\"http\") !== 0 || url.indexOf(window.document.location.hostname) !== -1) && !form.is(\"[target]\") ){\n if (typeof url === 'string' &&\n (url.indexOf('http') !== 0 || url.indexOf(window.document.location.hostname) !== -1) &&\n !form.getAttribute('target')) {\n if (e) {\n e.preventDefault();\n }\n data = formdata(form);\n if (data) {\n //$form.attr(\"action\", null);\n form.setAttribute('action', null);\n //$form.data(\"bbnSubmit\", 1);\n if (!fn) {\n fn = form.getAttribute('data-script') ? eval(form.getAttribute('data-script')) : null;\n }\n if (fn) {\n post(url, data, fn);\n }\n else {\n post(url, data);\n }\n }\n }\n};\nexport { submit };\n","import { isIterable } from '../type/isIterable.js';\nimport { adjustSize } from './adjustSize.js';\nvar adjustHeight = function () {\n var args = arguments;\n if (args.length === 1 && isIterable(args[0])) {\n args = args[0];\n }\n return adjustSize('height', args);\n};\nexport { adjustHeight };\n","import { each } from '../loop/each.js';\nvar adjustSize = function (type, eles) {\n var max = 0, idx;\n each(eles, function (el) {\n el.style[type] = 'auto';\n });\n each(eles, function (el, i) {\n var rect = el.getBoundingClientRect(), s = rect[type] % 1 ? rect[type] - (rect[type] % 1) + 1 : rect[type];\n //s = rect[type];\n if (s > max) {\n max = s;\n idx = i;\n }\n });\n each(eles, function (el, i) {\n if (max) {\n el.style[type] = max + 'px';\n }\n });\n};\nexport { adjustSize };\n","import { isIterable } from '../type/isIterable.js';\nimport { adjustSize } from './adjustSize.js';\nvar adjustWidth = function () {\n var args = arguments;\n if (args.length === 1 && isIterable(args[0])) {\n args = args[0];\n }\n return adjustSize('width', args);\n};\nexport { adjustWidth };\n","import { unique } from '../object/unique.js';\n/**\n * Gets all the tag names present in the DOM\n * @returns array\n */\nvar getAllTags = function () {\n return unique(Array.prototype.map.apply(document.all, [function (a) { return a.tagName.toLowerCase(); }]));\n};\nexport { getAllTags };\n","var getAncestors = function (ele, selector) {\n if (selector === void 0) { selector = null; }\n var r = [];\n if (typeof ele === 'string') {\n ele = document.querySelector(ele);\n }\n if (ele instanceof HTMLElement) {\n if (ele.parentElement) {\n if (typeof selector === 'string') {\n while ((ele = ele.parentElement.closest(selector))) {\n r.push(ele);\n }\n }\n else {\n if (selector === true) {\n r.push(ele);\n }\n while ((ele = ele.parentElement)) {\n r.push(ele);\n }\n }\n }\n }\n return r;\n};\nexport { getAncestors };\n","import { error } from '../browser/error.js';\n/**\n * Check if the property contain sizing\n * @return {Boolean}\n */\nvar getAttributes = function (ele) {\n if (!ele.getAttributeNames) {\n error('The element is not a proper HTML Element');\n }\n var res = Object.create(null);\n ele.getAttributeNames().forEach(function (name) {\n res[name] = ele.getAttribute(name);\n });\n return res;\n};\nexport { getAttributes };\n","import { log } from '../browser/log.js';\nvar getHTMLOfSelection = function () {\n var range;\n var selection = window.getSelection();\n if (selection.rangeCount > 0) {\n range = selection.getRangeAt(0);\n log('RANGE', range);\n var clonedSelection = range.cloneContents();\n log('clonedSelection', clonedSelection);\n var div = document.createElement('div');\n div.appendChild(clonedSelection);\n return div.innerHTML;\n }\n else {\n return '';\n }\n};\nexport { getHTMLOfSelection };\n","import { removeHtmlComments } from '../string/removeHtmlComments.js';\nvar getHtml = function (ele, stripComments) {\n if (stripComments === void 0) { stripComments = false; }\n var st = ele.innerHTML();\n if (stripComments) {\n st = removeHtmlComments(st);\n }\n return st.trim();\n};\nexport { getHtml };\n","import { replaceAll } from '../string/replaceAll.js';\n/**\n * @method getPath\n * @todo Add method description for getPath\n * @global\n * @ignore\n * @memberof bbn.fn\n * @returns {*}\n */\nvar getPath = function (element) {\n var path, \n //node = $(element),\n node = element, done = 0;\n var _loop_1 = function () {\n //let realNode = node[0],\n var realNode = node, name_1 = realNode.localName;\n if (!name_1)\n return \"break\";\n if (realNode === document.body)\n return \"break\";\n if (realNode.id) {\n return { value: '#' + realNode.id };\n }\n if (!done) {\n if (realNode.className && realNode.className !== ' ') {\n name_1 += '.' + replaceAll(' ', '.', replaceAll(' ', ' ', realNode.className));\n }\n done = 1;\n }\n //var parent = node.parent(),\n var parent_1 = node.parentNode, \n //sameTagSiblings = parent.children(name);\n sameTagSiblings = parent_1.children.filter(function (val) {\n return val.tagName === name_1;\n });\n if (sameTagSiblings.length > 1) {\n //var allSiblings = parent.children(),\n var allSiblings = parent_1.children, \n //index = allSiblings.index(realNode) + 1;\n index = allSiblings.indexOf(realNode) + 1;\n if (index > 1) {\n name_1 += ':nth-child(' + index + ')';\n }\n }\n path = name_1 + (path ? '>' + path : '');\n node = parent_1;\n };\n while (node.length) {\n var state_1 = _loop_1();\n if (typeof state_1 === \"object\")\n return state_1.value;\n if (state_1 === \"break\")\n break;\n }\n return path;\n};\nexport { getPath };\n","var getText = function (ele) {\n return ele.innerText().trim();\n};\nexport { getText };\n","/**\n * Convert text in html format to plain text.\n *\n * @method html2text\n * @global\n *\n * @example\n * ```javascript\n * //\"Hello world!\"\n * bbn.fn.html2text(\"<div><p>Hello <b>world!</b></p></div>\");\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {String}\n */\nvar html2text = function (st) {\n var $test = document.createElement(\"div\");\n $test.innerHTML = st;\n st = $test.innerText;\n return st;\n};\nexport { html2text };\n","var isInViewport = function (ele, fully) {\n if (fully === void 0) { fully = false; }\n var bounding = ele.getBoundingClientRect();\n if (fully) {\n return (bounding.top >= 0\n && bounding.left >= 0\n && bounding.right <= (window.innerWidth || document.documentElement.clientWidth)\n && bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight));\n }\n var eleHeight = ele.offsetHeight;\n var eleWidth = ele.offsetWidth;\n return (bounding.top >= -eleHeight\n && bounding.left >= -eleWidth\n && bounding.right <= (window.innerWidth || document.documentElement.clientWidth) + eleWidth\n && bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) + eleHeight);\n};\nexport { isInViewport };\n","import { getAncestors } from './getAncestors.js';\nimport { isString } from '../type/isString.js';\nimport { each } from '../loop/each.js';\nvar isInside = function (ele, ancestor) {\n var ancestors = getAncestors(ele);\n if (ancestors.length) {\n if (isString(ancestor)) {\n var ok_1 = false;\n each(ancestors, function (a) {\n if (a.matches && a.matches(ancestor)) {\n ok_1 = true;\n return false;\n }\n });\n return ok_1;\n }\n if (ancestor instanceof HTMLElement) {\n return ancestors.indexOf(ancestor) > -1;\n }\n }\n return false;\n};\nexport { isInside };\n","import { log } from '../browser/log.js';\nimport { createObject } from '../object/createObject.js';\nimport { isSymbol } from '../type/isSymbol.js';\nimport { isNumber } from '../type/isNumber.js';\nimport { isArray } from '../type/isArray.js';\nimport { warning } from '../browser/warning.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { isSame } from '../type/isSame.js';\nvar makeReactive = function (obj, onSet, parent, parentProp) {\n var parentString = (parent === null || parent === void 0 ? void 0 : parent.$cid) || '';\n var prefix = '__bbn_' + (parentString ? parentString + '_' : '');\n if (obj && typeof obj === 'object' && [undefined, Object, Array].includes(obj.constructor)) {\n if (obj.__bbnIsProxy && obj.__bbnParent === parent) {\n return obj;\n }\n if (parent && parent.$options && parent.$options.name === 'bbn-loadbar') {\n log(['MAKING bbn-loadbar', obj]);\n }\n if (!obj.__bbnWatchers) {\n Reflect.defineProperty(obj, '__bbnWatchers', {\n value: createObject(),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n }\n var handler = {\n get: function (target, key) {\n var realValue = Reflect.get(target, key);\n var realTarget = target.__bbnRoot || target;\n if (isSymbol(key)) {\n return Reflect.get(realTarget, key);\n }\n var propName = parentProp ? parentProp + '.' + key : key;\n var hiddenKey = prefix + (isNumber(key) ? key.toString() : key);\n if (['fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'].includes(key) &&\n isArray(target)) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var res = realTarget[key].apply(realTarget, args);\n warning('DOING ARRAY STUFF');\n log(target.__bbnParent);\n onSet(target, 'length', parent);\n return res;\n };\n }\n if (isFunction(realValue)) {\n return realValue;\n }\n if (key === '__bbnRoot') {\n var root = obj;\n while (root && (root === null || root === void 0 ? void 0 : root.__bbnTarget)) {\n root = root.__bbnTarget;\n }\n return root;\n }\n if (key === '__bbnIsProxy') {\n return true;\n }\n if (key === '__bbnTarget') {\n return target;\n }\n if (key === '__bbnParent') {\n return parent;\n }\n if (key === '__bbnWatchers') {\n return target.__bbnWatchers;\n }\n if (key.indexOf('__bbn_') === 0) {\n return Reflect.get(target, key);\n }\n if (key === 'length' && isArray(target.__bbnRoot || target)) {\n return realTarget.length;\n }\n if (!(key in target)) {\n return realValue;\n }\n if (realValue &&\n typeof realValue === 'object' &&\n [undefined, Object, Array].includes(realValue.constructor)) {\n if (realValue.__bbnIsProxy && realValue.__bbnParent === parent) {\n return realTarget[hiddenKey];\n }\n if (!(hiddenKey in realTarget)) {\n Reflect.defineProperty(realTarget, hiddenKey, {\n value: makeReactive(realValue, onSet, parent, propName),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n }\n if (realTarget[hiddenKey].__bbnIsProxy && !realTarget.__bbnWatchers[parentString]) {\n realTarget.__bbnWatchers[parentString] = propName;\n }\n return realTarget[hiddenKey];\n }\n return realValue;\n },\n set: function (target, key, value) {\n if (isSymbol(key)) {\n return Reflect.get(target, key, value);\n }\n var realTarget = target.__bbnRoot || target;\n var propName = parentProp ? parentProp + '.' + key : key;\n if (isSymbol(key)) {\n return Reflect.get(target, key);\n }\n if (parent && parent.$options && parent.$options.name === 'bbn-loadbar') {\n log(['Setting proxy prop in ' + parent.$options.name, target, key, value]);\n }\n if (!isSame(realTarget[key], value)) {\n if (key.indexOf('__bbn_') === 0) {\n Reflect.defineProperty(realTarget, key, {\n value: makeReactive(value, onSet, parent, propName),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n }\n else {\n if (value &&\n typeof value === 'object' &&\n [undefined, Object, Array].includes(value.constructor)) {\n var hiddenKey = prefix + (isNumber(key) ? key.toString() : key);\n Reflect.defineProperty(realTarget, hiddenKey, {\n value: makeReactive(value, onSet, parent, propName),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n if (realTarget[hiddenKey].__bbnIsProxy && !realTarget.__bbnWatchers[parentString]) {\n realTarget.__bbnWatchers[parentString] = propName;\n }\n }\n }\n if (parent && parent.$options && parent.$options.name === 'bbn-loadbar') {\n log([\n 'Setting proxy prop in ' +\n parent.$options.name +\n ' ' +\n (isNumber(key) ? key.toString() : key),\n value,\n target,\n ]);\n }\n Reflect.set(realTarget, key, value);\n onSet(target, key, parent);\n }\n return true;\n },\n defineProperty: function (target, key, description) {\n var realTarget = target;\n var propName = parentProp ? parentProp + '.' + key : key;\n if (key === '__bbnWatchers' || isSymbol(key) || key.indexOf('__bbn_') === 0) {\n Reflect.defineProperty(realTarget, key, description);\n }\n else {\n var hiddenKey = prefix + (isNumber(key) ? key.toString() : key);\n Reflect.defineProperty(realTarget, hiddenKey, {\n value: makeReactive(description.value, onSet, parent, propName),\n writable: true,\n configurable: true,\n enumerable: false,\n });\n }\n onSet(target, key, parent);\n return true;\n },\n deleteProperty: function (target, key) {\n var realTarget = target;\n if (key.indexOf('__bbn_') === 0) {\n Reflect.deleteProperty(realTarget, key);\n }\n else {\n var hiddenKey = prefix + (isNumber(key) ? key.toString() : key);\n Reflect.deleteProperty(realTarget, hiddenKey);\n Reflect.deleteProperty(target, key);\n }\n return true;\n },\n };\n return new Proxy(obj, handler);\n }\n return obj;\n};\nexport { makeReactive };\n","/**\n * @ignore\n * @method selector\n * @todo Add method description for selector\n * @global\n * @memberof bbn.fn\n * @returns {HTMLElement | undefined}\n */\nvar selector = function (ele) {\n return typeof ele === \"string\" ? document.querySelector(ele) : ele;\n};\nexport { selector };\n","import { substr } from './string/substr.js';\nimport { each } from './loop/each.js';\nimport { extend } from './object/extend.js';\nimport { addColors } from './style/addColors.js';\nimport { link } from './ajax/link.js';\nimport { submit } from './form/submit.js';\nimport { resize } from './style/resize.js';\nimport { isMobile } from './browser/isMobile.js';\nimport { isTabletDevice } from './browser/isTabletDevice.js';\nimport { isFunction } from './type/isFunction.js';\nimport { log } from './browser/log.js';\n/**\n * Initializes the library bbn basing on the given configuration object.\n * - Gives to the environment the dimension of the window.innerWidth and window.innerHeight\n * - Defines the server's path (difference between the host and the current dir)\n * - Adds the colors contained in bbn.var.colors to define the css classes for background and colors.\n * - Adds the event listener to the document\n * - Activates the history\n * @method init\n * @global\n * @memberof bbn.fn\n * @param {Object} cfg\n * @returns\n */\nvar init = function (cfg, force) {\n var parts;\n if (!bbn.env.isInit || force) {\n bbn.env.root =\n document.baseURI.length > 0 ? document.baseURI : bbn.env.host;\n if (bbn.env.root.length && substr(bbn.env.root, -1) !== \"/\") {\n bbn.env.root += \"/\";\n }\n if (!bbn.env.isInit && typeof dayjs !== \"undefined\") {\n each([\n \"advancedFormat\",\n \"arraySupport\",\n \"badMutable\",\n \"buddhistEra\",\n \"calendar\",\n \"customParseFormat\",\n \"dayOfYear\",\n \"devHelper\",\n \"duration\",\n \"isBetween\",\n \"isLeapYear\",\n \"isSameOrAfter\",\n \"isSameOrBefore\",\n \"isToday\",\n \"isTomorrow\",\n \"isYesterday\",\n \"isoWeek\",\n \"isoWeeksInYear\",\n \"localeData\",\n \"localizedFormat\",\n \"minMax\",\n \"objectSupport\",\n \"pluralGetSet\",\n \"quarterOfYear\",\n \"relativeTime\",\n \"timezone\",\n \"toArray\",\n \"toObject\",\n \"updateLocale\",\n \"utc\",\n \"weekOfYear\",\n \"weekYear\",\n \"weekday\",\n ], function (plugin) {\n if (window[\"dayjs_plugin_\" + plugin]) {\n dayjs.extend(window[\"dayjs_plugin_\" + plugin]);\n }\n });\n }\n /* The server's path (difference between the host and the current dir */\n if (typeof cfg === \"object\") {\n extend(true, bbn, cfg);\n }\n bbn.env.path = substr(bbn.env.url, bbn.env.root.length);\n parts = bbn.env.path.split(\"/\");\n //$.each(parts, function(i, v){\n each(parts, function (v, i) {\n v = decodeURI(v.trim());\n if (v !== \"\") {\n bbn.env.params.push(v);\n }\n });\n if (bbn.var.colors) {\n addColors(bbn.var.colors);\n }\n if (bbn.env.lang && undefined !== dayjs) {\n dayjs.locale(bbn.env.lang);\n }\n window.onfocus = function () {\n bbn.env.isFocused = true;\n };\n window.onblur = function () {\n bbn.env.isFocused = false;\n bbn.env.timeoff = Math.round(new Date().getTime() / 1000);\n };\n document.addEventListener(\"focusin\", function (e) {\n if (e.target instanceof HTMLElement &&\n !e.target.classList.contains(\"bbn-no\")) {\n bbn.env.focused = e.target;\n }\n bbn.env.last_focus = new Date().getTime();\n });\n document.addEventListener(\"click\", function (e) {\n bbn.env.last_focus = new Date().getTime();\n if (bbn.env.nav !== \"ajax\") {\n return;\n }\n var target = e.target;\n if (target instanceof HTMLElement && target.tagName !== \"A\") {\n var p = target;\n while (p && p.tagName !== \"A\") {\n if (p.tagName === \"BODY\") {\n break;\n }\n p = p.parentElement;\n }\n if (p && p.tagName === \"A\") {\n target = p;\n }\n else {\n target = null;\n }\n }\n if (target instanceof HTMLElement &&\n target.hasAttribute(\"href\") &&\n !target.hasAttribute(\"target\") &&\n !target.classList.contains(\"bbn-no\")) {\n e.preventDefault();\n e.stopPropagation();\n link(target.getAttribute(\"href\"));\n return false;\n }\n });\n each(document.querySelectorAll(\"form:not(.bbn-no), form:not(.bbn-form)\"), function (ele) {\n ele.addEventListener(\"submit\", function (e) {\n submit(ele, e);\n });\n });\n window.addEventListener(\"hashchange\", function () {\n bbn.env.hashChanged = new Date().getTime();\n }, false);\n window.addEventListener(\"resize\", function () {\n resize();\n });\n window.addEventListener(\"orientationchange\", function () {\n resize();\n });\n resize();\n if (isMobile()) {\n document.body.classList.add(\"bbn-mobile\");\n if (isTabletDevice()) {\n document.body.classList.add(\"bbn-tablet\");\n }\n }\n if (window.history) {\n window.onpopstate = function (e) {\n var h = window.history;\n if (!bbn.env.historyDisabled && h) {\n //e.preventDefault();\n if (bbn.fn.defaultHistoryFunction(h.state)) {\n var state = h.state;\n if (state) {\n //link(substr(state.url, bbn.env.root.length), $.extend({title: state.title}, state.data));\n link(state.url, extend({ title: state.title || bbn.env.siteTitle }, state.data || {}));\n }\n else if (state && state.data && isFunction(state.data.script)) {\n state.data.script();\n }\n }\n }\n };\n }\n bbn.env.isInit = true;\n document.dispatchEvent(new Event(\"bbninit\"));\n if (bbn.env.logging) {\n log(\"Logging in bbn is enabled\");\n }\n }\n};\nexport { init };\n","import { isNumber } from '../type/isNumber.js';\nimport { isIterable } from '../type/isIterable.js';\nimport { iterate } from './iterate.js';\n/**\n * Executes the provided function on each element of the given array.\n *\n * Returning false will stop the loop.\n *\n * @method each\n * @global\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.each([4, 5, 5, 10, 1, 2], d => {\n * res += d;\n * });\n * // res = 27\n * ```\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.each([4, 5, 5, 10, 1, 2], d => {\n * if (res >= 20) {\n * return false;\n * }\n * res += d;\n * });\n * // res = 24\n * ```\n * @memberof bbn.fn\n * @param {*} arr The array to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @returns {[Array, Object, void]}\n */\nvar each = function (arr, fn) {\n if (isNumber(arr) && arr > 0) {\n for (var i = 0; i < arr; i++) {\n if (fn(i, i) === false) {\n return;\n }\n }\n return;\n }\n if (isIterable(arr)) {\n for (var i = 0; i < arr.length; i++) {\n if (fn(arr[i], i) === false) {\n return;\n }\n }\n return arr;\n }\n return iterate(arr, fn);\n};\nexport { each };\n","import { isArray } from '../type/isArray.js';\nimport { isNumber } from '../type/isNumber.js';\n/**\n * Executes the provided function on each element of the given array.\n *\n * A minimum and a maximum value can be provided, within the boundaries of the\n * array's indexes. Returning false will stop the loop.\n *\n * @method fori\n * @global\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.fori([4, 5, 5, 10, 1, 2], d => {\n * res += d;\n * }, 3);\n * // res = 24\n * ```\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.fori([4, 5, 5, 10, 1, 2], d => {\n * if (res >= 20) {\n * return false;\n * }\n * res += d;\n * }, 4, 1);\n * // res = 20\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @param {Number} max The index to which the loop will stop\n * @param {Number} min The index at which the loop will start\n * @returns {undefined}\n */\nvar fori = function (arr, fn, max, min) {\n if (max === void 0) { max = arr.length - 1; }\n if (min === void 0) { min = 0; }\n if (isArray(arr)) {\n var realMax = arr.length - 1;\n if (!isNumber(max) || !(0 < max && max <= realMax)) {\n max = realMax;\n }\n if (!isNumber(min) || !(0 <= min && min < realMax) || min > max) {\n min = 0;\n }\n for (var i = min; i <= max; i++) {\n if (fn(arr[i], i) === false) {\n return;\n }\n }\n }\n};\nexport { fori };\n","import { isArray } from '../type/isArray.js';\nimport { isNumber } from '../type/isNumber.js';\n/**\n * Executes the provided function on each element of the given array, going backward.\n *\n * A maximum and a minimum value can be provided, within the boundaries of the\n * array's indexes. Returning false will stop the loop.\n *\n * @method forir\n * @global\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.forir([4, 5, 5, 10, 1, 2], d => {\n * res += d;\n * }, 4, 2);\n * // res = 16\n * ```\n * @example\n * ```javascript\n * let res = 0;\n * bbn.fn.forir([4, 5, 5, 10, 1, 2], d => {\n * if (res >= 20) {\n * return false;\n * }\n * res += d;\n * });\n * // res = 23\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @param {Number} max The index to which the loop will stop\n * @param {Number} min The index at which the loop will start\n * @returns {undefined}\n */\nvar forir = function (arr, fn, max, min) {\n if (max === void 0) { max = arr.length - 1; }\n if (min === void 0) { min = 0; }\n if (isArray(arr)) {\n var realMax = arr.length - 1;\n if (!isNumber(max) || !(0 < max && max <= realMax)) {\n max = realMax;\n }\n if (!isNumber(min) || !(0 <= min && min < realMax) || min > max) {\n min = 0;\n }\n for (var i = max; i >= min; i--) {\n if (fn(arr[i], i) === false) {\n return;\n }\n }\n }\n};\nexport { forir };\n","import { removePrivateProp } from '../object/removePrivateProp.js';\n/**\n * Executes the provided function on each property of the given object.\n *\n * @method iterate\n * @global\n * @example\n * ```javascript\n * //[\"value1\", 2]\n * let arr = [];\n * bbn.fn.iterate({field1: \"value1\", field2: 2}, (val, idx) => {\n * arr.push(value);\n * });\n * ```\n * @memberof bbn.fn\n * @param {(Object|Number)} obj The object to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @param {Boolean} noPrivate If set to true the _private_ properties won't be included\n * @param {Boolean} reverse If set to true the order of the keys will be reversed\n * @returns {Object}\n */\nvar iterate = function (obj, fn, noPrivate, reverse) {\n if (noPrivate === void 0) { noPrivate = false; }\n if (reverse === void 0) { reverse = false; }\n if (obj !== null && typeof obj === \"object\") {\n var iter = Object.keys(noPrivate ? removePrivateProp(obj) : obj);\n if (reverse) {\n iter.reverse();\n }\n for (var _i = 0, iter_1 = iter; _i < iter_1.length; _i++) {\n var prop = iter_1[_i];\n if (fn(obj[prop], prop) === false) {\n break;\n }\n }\n }\n return obj;\n};\nexport { iterate };\n","import { iterate } from './iterate.js';\n/**\n * Executes the provided function on each property of the given object.\n *\n * @method riterate\n * @global\n * @example\n * ```javascript\n * //[\"value1\", 2]\n * let arr = [];\n * bbn.fn.iterate({field1: \"value1\", field2: 2}, (val, idx) => {\n * arr.push(value);\n * });\n * ```\n * @memberof bbn.fn\n * @param {(Object|Number)} obj The object to loop on\n * @param {Function} fn The function, gets the array's element and the index as arguments\n * @param {Boolean} noPrivate If set to true the _private_ properties won't be included\n * @returns {Object}\n */\nvar riterate = function (obj, fn, noPrivate) {\n if (noPrivate === void 0) { noPrivate = false; }\n return iterate(obj, fn, noPrivate, true);\n};\nexport { riterate };\n","import { md5 } from \"../string/md5.js\";\n/**\n * Analyzes the given function and extracts details about its structure.\n *\n * @function analyzeFunction\n * @param {Function} fn - The function to analyze.\n * @returns {Object} An object containing details about the function.\n * @throws {Error} When unexpected syntax is encountered while parsing.\n */\nvar analyzeFunction = function (fn) {\n var all = typeof fn === \"function\" ? fn.toString() : fn;\n if (typeof all !== \"string\") {\n throw Error(\"Unexpected type \" + typeof fn + \" while parsing function\");\n }\n var exp = \"\";\n var isArrow = false;\n var isAsync = false;\n var hasFunction = false;\n var name = \"\";\n var parOpened = 0;\n var parClosed = 0;\n var args = [];\n var currentArg = {};\n var body;\n var currentQuote = \"\";\n var escapable = ['\"', \"'\", \"`\"];\n var isEscaped = false;\n var settingDefault = false;\n var isComment = false;\n var isCommentLine = false;\n var isDestructuring = false;\n var returnType = \"\";\n for (var i = 0; i < all.length; i++) {\n // Handle string literals\n if (!isComment && all[i] === \"/\" && all[i + 1] === \"*\") {\n isComment = true;\n exp = \"\";\n }\n else if (all[i] === \"/\" && all[i - 1] === \"*\") {\n isComment = false;\n }\n else if (!isCommentLine && all[i] === \"/\" && all[i + 1] === \"/\") {\n isCommentLine = true;\n exp = \"\";\n }\n else if (all[i] === \"\\n\") {\n isCommentLine = false;\n }\n else if (isComment || isCommentLine) {\n continue;\n }\n else if (all[i] === currentQuote && !isEscaped && currentQuote) {\n currentQuote = \"\";\n exp += all[i];\n }\n else if (currentQuote) {\n isEscaped = all[i] === \"\\\\\" && !isEscaped;\n exp += all[i];\n }\n else if (escapable.includes(all[i]) && !isEscaped) {\n currentQuote = all[i];\n exp += all[i];\n }\n else if (all[i] === \"(\") {\n parOpened++;\n if (exp.trim() !== \"\") {\n if (exp.trim() === \"function\") {\n hasFunction = true;\n }\n else if (exp.trim() !== \"async\") {\n name = exp.trim();\n var tmp = name.match(/^([a-zA-Z0-9_]+)<[a-zA-Z0-9_]+>$/);\n if (tmp) {\n name = tmp[1];\n }\n }\n exp = \"\";\n }\n }\n else if (all[i] === \")\") {\n if (parOpened === parClosed + 1) {\n if (settingDefault) {\n currentArg[\"default\"] = exp.trim();\n settingDefault = false;\n }\n else if (exp) {\n currentArg[\"name\"] = exp.trim();\n }\n if (currentArg[\"name\"] || currentArg[\"default\"]) {\n args.push(currentArg);\n currentArg = {};\n }\n exp = \"\";\n }\n parClosed++;\n }\n else if (isDestructuring && all[i] !== \"}\") {\n exp += all[i];\n }\n else if (parOpened && parOpened === parClosed && all[i] === \":\") {\n var matches = all.substring(i + 1).trim().match(/^\\s*([a-zA-Z0-9_]+)\\s*\\{/);\n if (!matches) {\n throw Error(\"Unexpected ':' while parsing function\");\n }\n returnType = matches[1];\n body = all.substring(i + matches[0].length).trim();\n break;\n }\n else if (all[i] === \"=\" && all[i + 1] === \">\") {\n if (exp.trim() !== \"\" && parOpened === parClosed) {\n currentArg[\"name\"] = exp.trim();\n args.push(currentArg);\n currentArg = {};\n exp = \"\";\n }\n isArrow = true;\n i++;\n continue;\n }\n else if (all[i] === \"=\" && parOpened > parClosed && !settingDefault) {\n currentArg[\"name\"] = exp.trim();\n exp = \"\";\n settingDefault = true;\n }\n else if (all[i] === \",\") {\n if (isDestructuring) {\n exp += all[i];\n }\n else if (parOpened > parClosed) {\n if (settingDefault) {\n currentArg[\"default\"] = exp.trim();\n settingDefault = false;\n }\n else if (exp) {\n currentArg[\"name\"] = exp.trim();\n }\n if (currentArg[\"name\"] || currentArg[\"default\"]) {\n args.push(currentArg);\n currentArg = {};\n }\n exp = \"\";\n }\n else {\n throw Error(\"Unexpected ',' while parsing function\");\n }\n }\n else if (all[i] === \"{\" || all[i] === \"}\") {\n if (parOpened === parClosed) {\n body = all.substring(i).trim();\n break;\n }\n else {\n if (parOpened > parClosed) {\n if (all[i] === \"{\" && !isDestructuring) {\n isDestructuring = true;\n exp = all[i];\n }\n else if (all[i] === \"}\" && isDestructuring) {\n isDestructuring = false;\n exp += all[i];\n }\n }\n else {\n exp = \"\";\n }\n }\n }\n else if (isArrow) {\n body = all.substring(all.indexOf(\"=>\") + 2).trim();\n break;\n }\n else if (all[i] === \" \") {\n if (exp.trim() !== \"\") {\n if (exp.trim() === \"async\") {\n isAsync = true;\n }\n if (parOpened > parClosed) {\n exp += all[i];\n }\n else {\n exp = \"\";\n }\n }\n }\n else {\n exp += all[i];\n }\n }\n if (!body) {\n if (isArrow) {\n body = exp;\n }\n else {\n throw Error(\"Unexpected end of function while parsing function\");\n }\n }\n var argString = args\n .map(function (arg) { return arg.name + (arg.default ? \" = \" + arg.default : \"\"); })\n .join(\", \");\n var hash = md5(body + (name ? \"-\" + name : \"\") + (argString ? \"-\" + argString : \"\"));\n return {\n body: body,\n args: args,\n argString: argString,\n isArrow: isArrow,\n hasFunction: hasFunction,\n name: name,\n isAsync: isAsync,\n hash: hash,\n returnType: returnType\n };\n};\nexport { analyzeFunction };\n","/**\n * Returns the length of time the window has not been focused in seconds.\n * @method getTimeoff\n * @global\n * @example\n * ``` javascript\n * bbn.fn.getTimeoff();\n * // 0\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar getTimeoff = function () {\n if (!bbn.env.isFocused) {\n return Math.round(new Date().getTime() / 1000 - bbn.env.timeoff);\n }\n return 0;\n};\nexport { getTimeoff };\n","import { isNumber } from '../type/isNumber.js';\n/**\n * Returns the given value to money format basing on the given configuration.\n *\n * @method money\n * @global\n *\n * @example\n * ``` javascript\n * // \"5 856.0 $\"\n * bbn.fn.money(5856, false, '$', false, '.' ,false, 1);\n * ```\n *\n * @memberof bbn.fn\n * @param {String|Number} val The value.\n * @param {Boolean} kilo If the value has to be rendered in kilo.\n * @param {String} currency The currency.\n * @param {String} novalue The string to return if no valid value is given.\n * @param {String} decimal The character to use separate decimals.\n * @param {String} thousands The character to use to separate thounsands.\n * @param {Number} precision The number of decimals places.\n */\nvar money = function (val, kilo, currency, novalue, decimal, thousands, precision) {\n /*\n money(val, kilo){\n let decimal = ',',\n currency = '€',\n thousands = ' ';\n if ( (isNaN(val) || !val) ){\n return '-';\n }\n if ( isNaN(val) || !val ){\n return 0;\n }\n if ( kilo && val ){\n val = val / 1000;\n if ( currency ){\n currency = 'K' + currency;\n }\n }\n return parseFloat(val).toFixed(0).replace(/./g, function(c, i, a) {\n if ( c === '.' ){\n return decimal;\n }\n return i && ((a.length - i) % 3 === 0) ? thousands + c : c;\n }) + ( currency ? ' ' + currency : '');\n },\n\n */\n if (!decimal) {\n decimal =\n decimal === undefined && bbn.env.money && bbn.env.money.decimal !== undefined ? bbn.env.money.decimal : '.';\n }\n if (!currency) {\n currency =\n currency === undefined && bbn.env.money && bbn.env.money.currency !== undefined\n ? bbn.env.money.currency\n : '';\n }\n if (!thousands) {\n thousands =\n thousands === undefined && bbn.env.money && bbn.env.money.thousands !== undefined\n ? bbn.env.money.thousands\n : ' ';\n }\n if (!precision) {\n precision =\n precision === undefined && bbn.env.money && bbn.env.money.precision !== undefined\n ? bbn.env.money.precision\n : 0;\n }\n if (!kilo) {\n kilo = kilo === undefined && bbn.env.money && bbn.env.money.kilo !== undefined ? bbn.env.money.kilo : false;\n }\n if (!novalue) {\n novalue =\n novalue === undefined && bbn.env.money && bbn.env.money.novalue !== undefined\n ? bbn.env.money.novalue\n : false;\n }\n if (!isNumber(precision)) {\n precision = kilo ? 3 : 0;\n }\n if ((val === 0) && (typeof precision === 'number') && (precision > 0)) {\n var res = val.toFixed(precision).replace('.', decimal);\n if (currency) {\n res += ' ' + (kilo ? 'K' + currency : currency);\n }\n return res;\n }\n if ((isNaN(val) || !val) && novalue) {\n return novalue;\n }\n if (isNaN(val) || !val) {\n return 0 + (currency ? ' ' + currency : '');\n }\n if (kilo && val) {\n val = val / 1000;\n if (currency) {\n currency = 'K' + currency;\n }\n }\n var v = val.toFixed(precision);\n var decimalPosition = 0;\n var decimalIdx = 10000;\n if (v) {\n decimalIdx = v.indexOf('.');\n if (decimalIdx <= 0) {\n decimalIdx = 10000;\n }\n else {\n decimalPosition = v.length - decimalIdx;\n }\n }\n return (v.replace(/./g, function (c, i, a) {\n if (c === '.') {\n return decimal;\n }\n return i && (a.length - i - decimalPosition) % 3 === 0 && i < decimalIdx ? thousands + c : c;\n }) + (currency ? ' ' + currency : ''));\n};\nexport { money };\n","/**\n * Returns the value of the proportion giving the percentage and the total from where to be calculated.\n * @method percent\n * @global\n *\n * @example\n * ```javascript\n * //150\n * bbn.fn.percent('15',1000);\n * ```\n *\n * @example\n * ```javascript\n * //75\n * bbn.fn.percent(15,500);\n * ```\n * @memberof bbn.fn\n * @param {Number|String} percent\n * @param {Number|String} cent\n * @returns {Number}\n */\nvar percent = function (percent, cent) {\n return (cent / 100) * percent;\n};\nexport { percent };\n","/**\n * Returns a random integer.\n *\n * Generates and returns a random number in a range of numbers defined\n * by passed arguments a minimum and a maximum.\n *\n * @method randomInt\n * @global\n *\n * @example\n * ```javascript\n * //56\n * bbn.fn.randomInt(1,100);\n * ```\n *\n * @memberof bbn.fn\n * @param {Number} min\n * @param {Number} max\n * @returns {Number}\n */\nvar randomInt = function (min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n};\nexport { randomInt };\n","/**\n * @method roundDecimal\n * @todo Add method description for roundDecimal\n * @global\n * @memberof bbn.fn\n * @param {Number} value\n * @param {Number} decimals\n * @returns {}\n */\nvar roundDecimal = function (value, decimals) {\n return Math.round(Math.pow(Math.pow(value, decimals), -decimals));\n};\nexport { roundDecimal };\n","import { iterate } from '../loop/iterate.js';\nvar translate = function (o, namespace) {\n var lng = namespace ? bbn.lng[namespace.indexOf('_') === 0 ? namespace : '_' + namespace] : bbn.lng;\n iterate(o, function (v, k) {\n lng[k] = v;\n });\n};\nexport { translate };\n","import { getProperty } from './getProperty.js';\nimport { isString } from '../type/isString.js';\nimport { removeAccents } from '../string/removeAccents.js';\nimport { isDate } from '../type/isDate.js';\n/**\n * Compares the given property in the given objects and returns -1, 1, or 0 depending on their difference.\n *\n * This is only used as a sorting function by bbn.fn.order and bbn.fn.multiorder.\n *\n * @method _compareValues\n * @global\n * @example\n * ```javascript\n * // Same value\n * bbn.fn._compareValues({year: 2015, value: 2}, {year: 2016, value: 2}, 'value');\n * // 0\n * ```\n * @example\n * ```javascript\n * // First value smaller than second\n * bbn.fn._compareValues({year: 2015, value: 2}, {year: 2016, value: 2}, 'year');\n * // -1\n * ```\n * @example\n * ```javascript\n * // First value greater than second\n * bbn.fn._compareValues({year: 2017, value: 2}, {year: 2016, value: 2}, 'year');\n * // 1\n * ```\n * @example\n * ```javascript\n * // First value is undefined\n * bbn.fn._compareValues({year: 2017}, {year: 2016, value: 2}, 'value');\n * // 1\n * ```\n * @memberof bbn.fn\n * @param {Object} a First object for comparison\n * @param {Object} b Second object for comparison\n * @param {String} prop Property to compare\n * @param {String} [dir=asc] Direction of comparison (desc or asc by default)\n * @returns {Number} Always either -1, 1, or 0\n */\nvar _compareValues = function (a, b, prop, dir) {\n if (dir === void 0) { dir = \"asc\"; }\n var va = getProperty(a, prop), vb = getProperty(b, prop), ta = (typeof va).toLowerCase(), tb = (typeof vb).toLowerCase();\n if (dir !== \"asc\" && isString(dir) && dir.toLowerCase() === \"desc\") {\n dir = \"desc\";\n }\n if (ta !== tb) {\n va = ta;\n vb = tb;\n }\n else {\n switch (ta) {\n case \"string\":\n va = removeAccents(va).toLowerCase();\n vb = removeAccents(vb).toLowerCase();\n break;\n case \"boolean\":\n va = va ? 1 : 0;\n vb = vb ? 1 : 0;\n break;\n case \"object\":\n if (isDate(va)) {\n va = va.getTime();\n vb = isDate(vb) ? vb.getTime() : 0;\n }\n break;\n }\n }\n if (va < vb) {\n return dir === \"desc\" ? 1 : -1;\n }\n if (va > vb) {\n return dir === \"desc\" ? -1 : 1;\n }\n return 0;\n};\nexport { _compareValues };\n","import { each } from '../loop/each.js';\nimport { getProperty } from './getProperty.js';\n/**\n * Creates and returns a new array made of the given property's values from the given array of objects.\n *\n * The returned array will always have the same length of the given array, even if the property is not found.\n *\n * @method arrayFromProp\n * @global\n * @example\n * ```javascript\n * bbn.fn.arrayFromProp([\n * {movie: \"Brazil\", year: 1985},\n * {movie: \"Donnie Darko\", year: 2001},\n * {movie: \"Barry Lindon\", year: 1976}\n * ], \"year\");\n * // [1985, 2001, 1976]\n * ```\n * @example\n * ```javascript\n * bbn.fn.arrayFromProp([\n * {pupil: \"Agnes Varda\", grade: {year: \"B\", month: \"A\"}},\n * {pupil: \"Jacques Rivette\"},\n * {pupil: \"Luc Besson\", grade: {year: \"C\", month: \"D\"}},\n * {pupil: \"Nicole Garcia\", grade: {year: \"B\", month: \"B\"}}\n * ], \"grade.month\");\n * // [\"A\", undefined, \"D\", \"B\"]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr\n * @param {String} prop\n * @returns {Array} The new array\n */\nvar arrayFromProp = function (arr, prop) {\n var r = [];\n each(arr, function (a, i) {\n r.push(getProperty(a, prop));\n });\n return r;\n};\nexport { arrayFromProp };\n","import { extend } from './extend.js';\n/**\n * Extends the bbn object by passing the namespace and the object it will merge with.\n *\n * This function is a self-centric shortcut for adding functions or proerties\n * to the bbn object itself.\n *\n * @method autoExtend\n * @global\n * @example\n * ```javascript\n * bbn.fn.autoExtend(\"fn\", {myOwnFunction: () => \"Result of my own function\"});\n * bbn.fn.myOwnFunction();\n * // Result of my own function\n * ```\n * @example\n * ```javascript\n * bbn.fn.autoExtend(\"env\", {serverLanguage: \"php\"});\n * bbn.env.sercerLanguage\n * // php\n * ```\n * @example\n * ```javascript\n * bbn.fn.autoExtend(\"myProject\", {name: \"My Project\"});\n * bbn.myProject.name\n * // Project\n * ```\n * @memberof bbn.fn\n * @param {String} namespace The bbn property, existing or not, in which the object will be merged\n * @param {Object} obj The object to merge\n * @returns {undefined} No return value\n */\nvar autoExtend = function (namespace, obj) {\n if (!bbn[namespace]) {\n bbn[namespace] = {};\n //$.extend(true, bbn[namespace], obj);\n extend(bbn[namespace], obj);\n }\n else {\n // $.extend(true, bbn[namespace], obj);\n extend(bbn[namespace], obj);\n }\n};\nexport { autoExtend };\n","import { checkPropsDetails } from './checkPropsDetails.js';\nvar checkProps = function (obj, props, checkEmpty) {\n if (checkEmpty === void 0) { checkEmpty = false; }\n return checkPropsDetails(obj, props, checkEmpty).result;\n};\nexport { checkProps };\n","import { isArray } from '../type/isArray.js';\nimport { isObject } from '../type/isObject.js';\nimport { each } from '../loop/each.js';\nimport { substr } from '../string/substr.js';\nvar checkPropsDetails = function (obj, props, checkEmpty) {\n if (checkEmpty === void 0) { checkEmpty = false; }\n var res = {\n error: false,\n result: true,\n };\n if (typeof props === \"string\") {\n props = [props];\n }\n if (!isArray(props)) {\n res.error = bbn._(\"checkProps must receive a string or an array as props argument\");\n }\n if (!isObject(obj)) {\n res.error = bbn._(\"checkProps must receive an object as obj argument\");\n }\n if (!res.error) {\n var check_1;\n each(props, function (varName) {\n varName = varName.trim().split(\":\");\n var type = varName[1] || false;\n varName = varName[0];\n if (obj[varName] === undefined) {\n res.error = varName + \" \" + bbn._(\"is not defined\");\n }\n else if (type) {\n check_1 =\n \"is\" +\n substr(type, 0, 1).toUpperCase() +\n substr(type, 1).toLowerCase();\n if (bbn.fn[check_1] === undefined) {\n res.error = type + \" \" + bbn._(\"is not a valid type\");\n }\n else if (!bbn.fn[check_1](obj[varName])) {\n res.error = varName + \" \" + bbn._(\"is not a\") + \" \" + type;\n }\n }\n else if (checkEmpty && !obj[varName]) {\n res.error = varName + \" \" + bbn._(\"is empty\");\n }\n if (res.error) {\n return false;\n }\n });\n }\n if (res.error) {\n res.result = false;\n }\n return res;\n};\nexport { checkPropsDetails };\n","import { checkPropsDetails } from './checkPropsDetails.js';\nvar checkPropsOrDie = function (obj, props, checkEmpty) {\n if (checkEmpty === void 0) { checkEmpty = false; }\n var res = checkPropsDetails(obj, props, checkEmpty);\n if (res.error) {\n throw new Error(res.error);\n }\n return true;\n};\nexport { checkPropsOrDie };\n","import { isDom } from '../type/isDom.js';\nimport { isCp } from '../type/isCp.js';\n/**\n * Returns a function to give to JSON.stringify in order to avoid circular values.\n *\n * @returns Function\n */\nvar circularReplacer = function () {\n var visited = new WeakSet();\n return function (key, value) {\n if (typeof value === \"object\" && value !== null) {\n if (visited.has(value)) {\n return;\n }\n visited.add(value);\n if (![undefined, Object, Array, null].includes(value.constructor)) {\n if (isDom(value)) {\n if (value.bbnId) {\n value =\n \"__BBN_DOM__\" + value.tagName + \"/\" + value.bbnId + value.bbnHash;\n }\n else {\n value = \"__BBN_DOM__\" + value.tagName + \"/\" + value.className;\n }\n }\n else if (isCp(value)) {\n value = \"__BBN_CP__\" + value.$options.name + \"/\" + value.$cid;\n }\n else {\n value = value.constructor.toString();\n }\n }\n }\n return value;\n };\n};\nexport { circularReplacer };\n","import { isArray } from '../type/isArray.js';\nimport { isObject } from '../type/isObject.js';\nimport { extend } from './extend.js';\n/**\n * Creates and returns a perfect clone - but different - from the given object.\n *\n * @method clone\n * @global\n * @example\n * ```javascript\n * let obj = {name: \"Thomas\"};\n * let objCopy = bbn.fn.clone(obj);\n * obj.name = \"Julie\";\n * // obj: {name: \"Julie\"}\n * // objCopy: {name: \"Thomas\"}\n * ```\n * @memberof bbn.fn\n * @param {Object} obj The source object\n * @returns {Object} A new object\n */\nvar clone = function (obj) {\n if (isArray(obj)) {\n return obj.slice().map(function (a) {\n return typeof a === \"object\" ? clone(a) : a;\n });\n }\n if (isObject(obj)) {\n var o = Object.create(Object.getPrototypeOf(obj));\n return extend(true, o, obj);\n }\n return obj;\n};\nexport { clone };\n","import { isEmpty } from '../type/isEmpty.js';\nimport { removeAccents } from '../string/removeAccents.js';\nimport { isNull } from '../type/isNull.js';\nimport { isObject } from '../type/isObject.js';\nimport { isSame } from '../type/isSame.js';\n/**\n * Performs a comparison between two values based on the given operator and returns a boolean.\n *\n * It is internally used by all the filtering functions; the available operators are:\n * - _===_, _=_, _equal_, _eq_, _is_, which stand for __===__\n * - _!==_, _notequal_, _neq_, _isnot_, which stand for __!==__\n * - _!=_, _different_, which stand for __!=__\n * - _contains_, _contain_, _icontains_, _icontain_\n * - _starts_, _start_\n * - _startswith_, _startsi_, _starti_, _istarts_, _istart_\n * - _endswith_, _endsi_, _endi_, _iends_, _iend_\n * - _like_\n * - _gt_, _>_, which stand for __>__\n * - _lt_, _<_, which stand for __<__\n * - _gte_, _>=_, which stand for __>=__\n * - _lte_, _<=_, which stand for __<=__\n * - _isnull_, which stands for __=== null__\n * - _isnotnull_, which stands for __!== null__\n * - _isempty_, which stands for __=== ''__\n * - _isnotempty_, which stands for __!== ''__\n *\n * The defaut operator (if none is given) is __==__ .\n *\n * @method compare\n * @global\n * @example\n * ```javascript\n * bbn.fn.compare('foo', 'bar', 'eq');\n * // false\n * ```\n * @example\n * ```javascript\n * bbn.fn.compare('foo', 'bar', 'neq');\n * // true\n * ```\n * @example\n * ```javascript\n * bbn.fn.compare(3, 1, '>');\n * // true\n * ```\n * @example\n * ```javascript\n * bbn.fn.compare(\"JavaScript\", \"script\", 'contain');\n * // true\n * ```\n * @memberof bbn.fn\n * @param {String|Number} v1\n * @param {String|Number} v2\n * @param {String} operator\n * @returns {Boolean} True if the values' comparison complies with the operator, false otherwise\n */\nvar compare = function (v1, v2, operator) {\n switch (operator) {\n case '===':\n case '=':\n case 'equal':\n case 'eq':\n case 'is':\n return v1 === v2;\n case '!==':\n case 'notequal':\n case 'neq':\n case 'isnot':\n return v1 !== v2;\n case '!=':\n case 'different':\n return v1 != v2;\n case 'contains':\n case 'contain':\n case 'icontains':\n case 'icontain':\n if (isEmpty(v1) || isEmpty(v2)) {\n return false;\n }\n return removeAccents(v1).toLowerCase().indexOf(removeAccents(v2).toLowerCase()) !== -1;\n case 'doesnotcontain':\n case 'donotcontain':\n if (isNull(v1) || isNull(v2)) {\n return true;\n }\n return removeAccents(v1.toLowerCase()).indexOf(removeAccents(v2.toLowerCase())) === -1;\n case 'starts':\n case 'start':\n if (isNull(v1) || isNull(v2)) {\n return false;\n }\n if (typeof v1 !== 'string') {\n v1 = v1.toString() || '';\n }\n if (typeof v2 !== 'string') {\n v2 = v2.toString() || '';\n }\n return v1.indexOf(v2) === 0;\n case 'startswith':\n case 'startsi':\n case 'starti':\n case 'istarts':\n case 'istart':\n if (isNull(v1) || isNull(v2)) {\n return false;\n }\n return removeAccents(v1).toLowerCase().indexOf(removeAccents(v2).toLowerCase()) === 0;\n case 'endswith':\n case 'endsi':\n case 'endi':\n case 'iends':\n case 'iend':\n if (isNull(v1) || isNull(v2)) {\n return false;\n }\n return v1.lastIndexOf(v2) === v1.length - v2.length;\n case 'like':\n if (isNull(v1) || isNull(v2)) {\n return false;\n }\n return removeAccents(v1).toLowerCase() === removeAccents(v2).toLowerCase();\n case 'gt':\n case '>':\n return v1 > v2;\n case 'gte':\n case '>=':\n return v1 >= v2;\n case 'lt':\n case '<':\n return v1 < v2;\n case 'lte':\n case '<=':\n return v1 <= v2;\n case 'isnull':\n return v1 === null;\n case 'isnotnull':\n return v1 !== null;\n case 'isempty':\n return v1 === '';\n case 'isnotempty':\n return v1 !== '';\n case '==':\n if (isObject(v1, v2)) {\n return isSame(v1, v2);\n }\n default:\n return v1 == v2;\n }\n};\nexport { compare };\n","import { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { compare } from './compare.js';\nimport { getProperty } from './getProperty.js';\n/**\n * Checks whether the given data object complies or not with the given filter.\n *\n * The filter format must be full (i.e. with the properties logic and conditions) such as\n * seen in the function bbn.fn.search and can be generated by the function bbn.fn.filterToConditions.\n *\n * @method compareConditions\n * @global\n * @example\n * ```javascript\n * let item = {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589};\n * bbn.fn.compareConditions(item, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * value: \"Steven Spielberg\"\n * }\n * ]\n * });\n * // true\n * bbn.fn.compareConditions(item, bbn.fn.filterToConditions({director: \"Steven Soderberg\"}));\n * // false\n * bbn.fn.compareConditions(item, bbn.fn.filterToConditions({director: \"Steven Spielberg\"}));\n * // true\n * bbn.fn.compareConditions(item, bbn.fn.filterToConditions({year: 1980}, \">\"));\n * // true\n * bbn.fn.compareConditions(item, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \"<\",\n * value: 1980\n * }\n * ]\n * });\n * // false\n * ```\n * @memberof bbn.fn\n * @param {Object} data\n * @param {Object} filter\n * @returns {Boolean}\n */\nvar compareConditions = function (data, filter) {\n if (!filter.conditions || !filter.logic || !isArray(filter.conditions)) {\n throw new Error(\"Error in compareConditions: the filter should an abject with conditions and logic properties and conditions should be an array of objects\");\n }\n var ok = filter.logic === \"AND\" ? true : false;\n each(filter.conditions, function (a) {\n var comparator;\n if (a.conditions && isArray(a.conditions)) {\n comparator = compareConditions(data, a);\n }\n else {\n comparator = compare(getProperty(data, a.field), a.value, a.operator);\n if (comparator) {\n var bits = a.field.split(\".\");\n var prop = bits.pop();\n if (bits.length) {\n each(bits, function (b) { return (data = data[b]); });\n }\n // Case where both are undefined: value and prop which doesn't exist; they are not the same!\n if (getProperty(data, prop) === undefined && a.value !== undefined) {\n comparator = false;\n }\n }\n }\n if (comparator) {\n if (filter.logic === \"OR\") {\n ok = true;\n return false;\n }\n }\n else if (filter.logic === \"AND\") {\n ok = false;\n return false;\n }\n });\n return ok;\n};\nexport { compareConditions };\n","import { filter } from './filter.js';\n/**\n * Counts the number of objects matching the given filter in the given array.\n *\n * The arguments follow the same scheme as bbn.fn.search.\n *\n * @method count\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.count(ar, \"id\", 256);\n * // 1\n * bbn.fn.count(ar, {director: \"Steven Spielberg\"});\n * // 2\n * bbn.fn.search(ar, \"year\", 1975, \">\");\n * // 3\n * // Complex filters: all the movies from Spielberg between 1974 and 1980\n * bbn.fn.search(ar, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * operator: \"eq\",\n * value: \"Steven Spielberg\"\n * }, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \">=\",\n * value: 1974\n * }, {\n * field: \"year\",\n * operator: \"<=\",\n * value: 1980\n * }\n * ]\n * }\n * ]\n * });\n * // 1\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Number} The number of items\n */\nvar count = function (arr, prop, val, operator) {\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n return filter(arr, prop, val, operator).length || 0;\n};\nexport { count };\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { extend } from './extend.js';\nvar createObject = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var obj = Object.create(null);\n if (args.length) {\n extend.apply(void 0, __spreadArray([obj], args, false));\n }\n return obj;\n};\nexport { createObject };\n","import { search } from './search.js';\nimport { each } from '../loop/each.js';\nimport { isArray } from '../type/isArray.js';\n/**\n * Retrieves all elements of a hierarchical array corresponding to the filter.\n *\n * The arguments follow the same scheme as bbn.fn.search.\n *\n * @method findAll\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.count(ar, \"id\", 256);\n * // 1\n * bbn.fn.count(ar, {director: \"Steven Spielberg\"});\n * // 2\n * bbn.fn.search(ar, \"year\", 1975, \">\");\n * // 3\n * // Complex filters: all the movies from Spielberg between 1974 and 1980\n * bbn.fn.search(ar, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * operator: \"eq\",\n * value: \"Steven Spielberg\"\n * }, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \">=\",\n * value: 1974\n * }, {\n * field: \"year\",\n * operator: \"<=\",\n * value: 1980\n * }\n * ]\n * }\n * ]\n * });\n * // 1\n * ```\n * @memberof bbn.fn\n * @todo Do the doc!\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Number} The number of items\n */\nvar deepPath = function (arr, filter, deepProperty, res) {\n if (res === void 0) { res = []; }\n var idx;\n var start = 0;\n if ((idx = search(arr, filter, start)) > -1) {\n res.push(idx);\n return res;\n }\n each(arr, function (it, i) {\n if (isArray(it[deepProperty])) {\n var r = res.slice();\n r.push(i);\n var tmp = deepPath(it[deepProperty], filter, deepProperty, r);\n if (tmp !== false) {\n return tmp;\n }\n }\n });\n return false;\n};\nexport { deepPath };\n","import { checkType } from '../type/checkType.js';\n/**\n * Gets the given property from the given object\n * @param {Object} obj\n * @param {String} prop\n * @returns\n */\nvar deleteProp = function (obj, prop) {\n checkType(obj, \"object\", bbn._(\"The obj must be an object in setProp\"));\n checkType(prop, \"string\", bbn._(\"The prop must be a string in setProp\"));\n delete obj[prop];\n};\nexport { deleteProp };\n","import { isDate } from '../type/isDate.js';\nimport { createObject } from './createObject.js';\nimport { isFunction } from '../type/isFunction.js';\nimport { isValue } from '../type/isValue.js';\nimport { isDom } from '../type/isDom.js';\nimport { numProperties } from './numProperties.js';\nvar diffObjProcessed = [];\n/**\n * Returns an object describing the differences for transforming the first given object into the second.\n *\n * The returned data will use the objects properties as keys. If unchanged is set to true, all the\n * properties will be returned, otherwise only the different ones. Each of these keys will have the\n * following properties:\n * - type: can be _modified_, _created_, _deleted_, and if unchanged is set to true _unchanged_\n * - data: the first object's property's value, or the second if type is _created_\n * - newData: the second object's property's value in case of type _updated_\n *\n * @method diffObj\n * @global\n * @example\n * ```javascript\n * bbn.fn.diffObj(\n * {\n * name: \"Thomas\",\n * age: 45\n * }, {\n * name: \"Eva\",\n * sex: \"Female\",\n * retired: false\n * }\n * );\n * // {\n * // name: {\n * // type: \"updated\",\n * // data: \"Thomas\",\n * // newData: \"Eva\"\n * // },\n * // age: {\n * // type: \"deleted\",\n * // data: 45\n * // },\n * // sex: {\n * // type: \"created\",\n * // data: \"Female\"\n * // },\n * // retired: {\n * // type: \"created\",\n * // data: false\n * // }\n * // }\n * ```\n * @example\n * ```javascript\n * bbn.fn.diffObj(\n * {pupil: \"Agnes Varda\", grade: {year: \"B\", month: \"A\"}},\n * {pupil: \"Luc Besson\", grade: {year: \"C\", month: \"D\"}}\n * );\n * // {\n * // \"pupil\": {\n * // \"type\": \"updated\",\n * // \"data\": \"Agnes Varda\",\n * // \"newData\": \"Luc Besson\"\n * // },\n * // \"grade\": {\n * // \"year\": {\n * // \"type\": \"updated\",\n * // \"data\": \"B\",\n * // \"newData\": \"C\"\n * // },\n * // \"month\": {\n * // \"type\": \"updated\",\n * // \"data\": \"A\",\n * // \"newData\": \"D\"\n * // }\n * // }\n * // }\n * ```\n * @memberof bbn.fn\n * @param {Object} obj1\n * @param {Object} obj2\n * @param {String} unchanged\n * @param {Boolean} notRoot\n * @returns {Object}\n */\nvar diffObj = function (obj1, obj2, unchanged, notRoot) {\n if (unchanged === void 0) { unchanged = false; }\n if (notRoot === void 0) { notRoot = false; }\n if (!notRoot) {\n diffObjProcessed = [];\n }\n var VALUE_CREATED = 'created', VALUE_UPDATED = 'updated', VALUE_DELETED = 'deleted', VALUE_UNCHANGED = 'unchanged', _compareValues = function (value1, value2) {\n if (value1 === value2) {\n return VALUE_UNCHANGED;\n }\n if (isDate(value1) && isDate(value2) && value1.getTime() === value2.getTime()) {\n return VALUE_UNCHANGED;\n }\n if ('undefined' == typeof value1) {\n return VALUE_CREATED;\n }\n if ('undefined' == typeof value2) {\n return VALUE_DELETED;\n }\n return VALUE_UPDATED;\n };\n if (notRoot === undefined) {\n notRoot = false;\n }\n var diff = createObject();\n if (!isFunction(obj1) && !isFunction(obj2)) {\n if (isValue(obj1) || isValue(obj2)) {\n var res = _compareValues(obj1, obj2);\n if (unchanged || res !== VALUE_UNCHANGED) {\n var ret = createObject();\n Object.defineProperty(ret, 'type', {\n value: res,\n enumerable: false,\n });\n Object.defineProperty(ret, 'data', {\n value: obj1 === undefined ? obj2 : obj1,\n enumerable: false,\n });\n Object.defineProperty(ret, '_bbnDiffObjProof', {\n value: true,\n enumerable: false,\n });\n if (obj1 !== undefined) {\n Object.defineProperty(ret, 'newData', {\n value: obj2,\n enumerable: false,\n });\n }\n return ret;\n }\n return false;\n }\n if (isDom(obj1) || isDom(obj2)) {\n return false;\n }\n if (diffObjProcessed.includes(obj1) || diffObjProcessed.includes(obj2)) {\n //error(bbn._(\"Can't compare objects because they contain circular references\"));\n return false;\n }\n diffObjProcessed.push(obj1, obj2);\n for (var key in obj1) {\n if (isFunction(obj1[key])) {\n continue;\n }\n var value2 = undefined;\n if ('undefined' != typeof obj2[key]) {\n value2 = obj2[key];\n }\n var res = diffObj(obj1[key], value2, unchanged, true);\n if (res) {\n diff[key] = res;\n }\n }\n for (var key in obj2) {\n if (isFunction(obj2[key]) || 'undefined' != typeof obj1[key]) {\n continue;\n }\n var res = diffObj(undefined, obj2[key], unchanged, true);\n if (res) {\n diff[key] = res;\n }\n }\n }\n return !notRoot || unchanged || numProperties(diff) ? diff : false;\n};\nexport { diffObj };\n","import { iterate } from '../loop/iterate.js';\nimport { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { isObject } from '../type/isObject.js';\n/**\n * Merges the contents of two or more objects together into the first object.\n *\n * A boolean true argument can be done to operate a deep extend. In this case,\n * the content of properties or subproperties arrays and objects will also be merged.\n *\n * @method extend\n * @global\n * @example\n * ```javascript\n * bbn.fn.extend(\n * {prop1: 10, prop2: 20},\n * {prop1: 11, prop3: 21},\n * {prop2: 22, prop4: false},\n * {prop5: false, prop3: 45}\n * );\n * // {prop1: 11, prop2: 22, prop3: 45, prop4: false, prop5: false}\n * ```\n * @example\n * ```javascript\n * bbn.fn.extend(\n * {\n * prop1: [3, 5, 6],\n * prop2: {\n * subprop1: 87,\n * subprop2: 100\n * }\n * }, {\n * prop1: 11,\n * prop3: [8, 12, {aProperty: 1, anotherProperty: true}, 26]\n * }, {\n * prop2: {\n * subprop1: 90,\n * subprop3: 25\n * },\n * prop4: false\n * }, {\n * prop5: false,\n * prop3: [8, 45, {anotherProperty: false, andAnother: true}]\n * }\n * );\n * // {\n * // prop1: 11,\n * // prop2: {subprop1: 90, subprop3: 25},\n * // prop3: [8, 45, {anotherProperty: false, andAnother: true}],\n * // prop4: false,\n * // prop5: false\n * // }\n * ```\n * @example\n * ```javascript\n * // Deep\n * bbn.fn.extend(\n * true,\n * {\n * prop1: [3, 5, 6],\n * prop2: {\n * subprop1: 87,\n * subprop2: 100\n * }\n * }, {\n * prop1: 11,\n * prop3: [8, 12, {aProperty: 1, anotherProperty: true}, 26]\n * }, {\n * prop2: {\n * subprop1: 90,\n * subprop3: 25\n * },\n * prop4: false\n * }, {\n * prop5: false,\n * prop3: [8, 45, {anotherProperty: false, andAnother: true}]\n * }\n * );\n * // {\n * // prop1: 11,\n * // prop2: {subprop1: 90, subprop3: 25},\n * // prop3: [8, 45, {aProperty: 1, anotherProperty: false, andAnother: true}, 26],\n * // prop4: false,\n * // prop5: false\n * // }\n * ```\n * @memberof bbn.fn\n * @returns {Object} The first object argument, merged with the other objects given\n */\nvar extend = function () {\n var originalArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n originalArgs[_i] = arguments[_i];\n }\n var deep = false;\n var args = [];\n for (var i = 0; i < originalArgs.length; i++) {\n if (originalArgs[i] === true) {\n deep = true;\n }\n else if (!originalArgs[i]) {\n continue;\n }\n else if (typeof originalArgs[i] !== \"object\") {\n throw new Error(bbn._(\"Error in extend: all arguments should be object, you have given \") + typeof originalArgs[i]);\n }\n else {\n args.push(originalArgs[i]);\n }\n }\n if (!args.length) {\n throw new Error(\"No argument given\");\n }\n var out = args[0];\n for (var i = 1; i < args.length; i++) {\n iterate(args[i], function (a, key) {\n if (deep) {\n if (isArray(a)) {\n out[key] = isArray(out[key]) ? out[key] : [];\n each(a, function (b, i) {\n if (b && typeof b === \"object\") {\n var tmp = out[key][i];\n if (isArray(b)) {\n if (!isArray(tmp)) {\n tmp = [];\n }\n }\n else if (!isObject(tmp)) {\n tmp = {};\n }\n out[key][i] = extend(true, tmp, b);\n }\n else {\n out[key][i] = b;\n }\n });\n }\n else if (isObject(a)) {\n out[key] = extend(true, out[key] && typeof out[key] === \"object\"\n ? out[key]\n : Object.create(Object.getPrototypeOf(a)), a);\n }\n else {\n out[key] = a;\n }\n }\n else if (out[key] !== a) {\n out[key] = a;\n }\n });\n if (args[i].__bbnNoData) {\n Object.defineProperty(out, \"__bbnNoData\", {\n value: true,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n }\n }\n return out;\n};\nexport { extend };\n","import { isObject } from '../type/isObject.js';\n/**\n * Returns a new object made of the properties from all the given objects.\n *\n * Compared to bbn.fn.extend this still treats the arguments from left to right\n * but without overwriting existing properties, and returning a new object.\n *\n * @method extendOut\n * @global\n * @example\n * ```javascript\n * //{field1: 1, field2: 2, field3: 3, items: {item: 0, item1: 1, item2: 2}, field4: 4}\n * bbn.fn.extendOut({field1: 1, field2: 2, field3: 3, items: {item: 0}}, {field4: 4, items: {item1: 1, item2: 2}});\n * ```\n * @memberof bbn.fn\n * @returns {Object}\n */\nvar extendOut = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var r = null;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!isObject(a)) {\n throw new Error(\"Each argument for extendOut must be an object, \" + typeof a + \" given\");\n }\n if (r === null) {\n r = a;\n }\n else {\n for (var n in a) {\n if (isObject(r[n], a[n])) {\n extendOut(r[n], a[n]);\n }\n else if (r[n] === undefined) {\n r[n] = a[n];\n }\n }\n }\n }\n return r;\n};\nexport { extendOut };\n","import { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { filterToConditions } from './filterToConditions.js';\nimport { compareConditions } from './compareConditions.js';\n/**\n * Returns a new array with only the data matching the given filter.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method filter\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.filter(ar, {director: \"Steven Spielberg\"});\n * // [\n * // {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * // {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * // ]\n * bbn.fn.filter(ar, \"director\", \"Steven Spielberg\");\n * // Same result as the previous example\n * bbn.fn.filter(ar, {\n * logic: \"OR\",\n * conditions: [\n * {\n * field: \"director\",\n * value: \"Richard Donner\"\n * }, {\n * field: \"director\",\n * value: \"George Lucas\"\n * }\n * ]\n * );\n * // [\n * // {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * // {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * // ]\n * ```\n *\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Array} A new filtered array\n */\nvar filter = function (arr, prop, val, operator) {\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n if (!isArray(arr)) {\n bbn.fn.log(\"NOT ARRAY\", arr);\n throw new Error('Error in filter: The first argument must be an array');\n }\n var cfg = {};\n var res = [];\n var isFn = typeof (prop) === 'function';\n if (!prop || !arr.length) {\n return arr;\n }\n if (arr.length) {\n if (typeof prop === 'object') {\n operator = val;\n cfg = prop;\n }\n else if (typeof prop === 'string') {\n cfg[prop] = val;\n }\n else if (!isFn) {\n throw new Error('Search function error: The prop argument should be a string or an object');\n }\n if (typeof (prop) === 'function') {\n each(arr, function (a, i) {\n if (prop(a, i)) {\n res.push(a);\n }\n });\n }\n else {\n cfg = filterToConditions(cfg, operator);\n if (cfg.conditions && cfg.logic) {\n each(arr, function (a) {\n if (compareConditions(a, cfg)) {\n res.push(a);\n }\n });\n }\n }\n return res;\n }\n};\nexport { filter };\n","import { isObject } from '../type/isObject.js';\nimport { isArray } from '../type/isArray.js';\nimport { iterate } from '../loop/iterate.js';\n/**\n * Converts the given object 'filter' to a valid format of condition.\n *\n * The resulting format will comply with bbn.fn.compareConditions and also with\n * bbn databases functions and complex filters applied to bbn-vue list components.\n *\n * @method filterToConditions\n * @global\n * @example\n * ```javascript\n * bbn.fn.filterToConditions({num: 3});\n * // {\n * // logic: \"AND\",\n * // conditions: [{\n * // field: \"num\",\n * // operator: \"=\",\n * // value: 3\n * // }]\n * // }\n * ```\n * @example\n * ```javascript\n * bbn.fn.filterToConditions({num: 3}, '>');\n * // {\n * // logic: \"AND\",\n * // conditions: [{\n * // field: \"num\",\n * // operator: \">\",\n * // value: 3\n * // }]\n * // }\n * ```\n * @memberof bbn.fn\n * @param {Object} filter\n * @param {String} operator\n * @returns {Object}\n */\nvar filterToConditions = function (filter, operator) {\n if (operator === void 0) { operator = \"=\"; }\n if (!isObject(filter)) {\n throw new Error(\"Error in filterToCondition: filter must be an object\");\n }\n if (!filter.conditions || !isArray(filter.conditions)) {\n var tmp_1 = [];\n iterate(filter, function (a, n) {\n if (isObject(a) && typeof a.conditions === \"object\") {\n tmp_1.push(filterToConditions(a));\n }\n else {\n tmp_1.push({\n field: n,\n operator: operator,\n value: a,\n });\n }\n });\n filter = {\n conditions: tmp_1,\n };\n }\n if (!filter.logic) {\n filter.logic = \"AND\";\n }\n return filter;\n};\nexport { filterToConditions };\n","import { search } from './search.js';\nimport { each } from '../loop/each.js';\nimport { isArray } from '../type/isArray.js';\n/**\n * Retrieves all elements of a hierarchical array corresponding to the filter.\n *\n * The arguments follow the same scheme as bbn.fn.search.\n *\n * @method findAll\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.count(ar, \"id\", 256);\n * // 1\n * bbn.fn.count(ar, {director: \"Steven Spielberg\"});\n * // 2\n * bbn.fn.search(ar, \"year\", 1975, \">\");\n * // 3\n * // Complex filters: all the movies from Spielberg between 1974 and 1980\n * bbn.fn.search(ar, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * operator: \"eq\",\n * value: \"Steven Spielberg\"\n * }, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \">=\",\n * value: 1974\n * }, {\n * field: \"year\",\n * operator: \"<=\",\n * value: 1980\n * }\n * ]\n * }\n * ]\n * });\n * // 1\n * ```\n * @memberof bbn.fn\n * @todo Do the doc!\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Number} The number of items\n */\nvar findAll = function (arr, filter, deepProperty, res) {\n if (res === void 0) { res = []; }\n var idx;\n var start = 0;\n while ((idx = search(arr, filter, start)) > -1) {\n res.push(arr[idx]);\n start = idx + 1;\n }\n each(arr, function (it) {\n if (isArray(it[deepProperty])) {\n findAll(it[deepProperty], filter, deepProperty, res);\n }\n });\n return res;\n};\nexport { findAll };\n","import { getRow } from './getRow.js';\n/**\n * Returns the value of the given field (property) from the first object matching the given filter in an array of objects.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method getField\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.getField(ar, \"name\", {id: 256});\n * // Star wars\n * bbn.fn.getField(ar, \"name\", \"id\", 689);\n * // Goonies\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {String} field The property from which the value is returned\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {*}\n */\nvar getField = function (arr, field, prop, val, operator) {\n if (prop === void 0) { prop = ''; }\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n var r;\n if (field && (r = getRow(arr, prop, val, operator))) {\n return r[field];\n }\n return undefined;\n};\nexport { getField };\n","import { checkType } from '../type/checkType.js';\nimport { filter } from './filter.js';\nimport { each } from '../loop/each.js';\n/**\n * Returns all the unique values of the given field (property) from the first object matching the given filter in an array.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method getFieldValues\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * {name: \"Barry Lindon\", director: \"Stanley Kubrick\", year: 1975, id: 802}\n * ];\n * bbn.fn.getFieldValues(ar, \"director\");\n * // [\"Steven Spielberg\", \"George Lucas\", \"Stanley Kubrick\"]\n * bbn.fn.getFieldValues(ar, \"name\", {year: 1975});\n * // [\"Jaws\", \"Barry Lindon\"]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {String} field The property from which the values are returned\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {*}\n */\nvar getFieldValues = function (arr, field, prop, val, operator) {\n checkType(field, 'string');\n if (prop) {\n arr = filter(arr, prop, val, operator);\n }\n var res = [];\n each(arr, function (a) { return (res.indexOf(a[field]) === -1 ? res.push(a[field]) : null); });\n return res;\n};\nexport { getFieldValues };\n","import { checkType } from '../type/checkType.js';\n/**\n * Gets the given property from the given object\n * @param {Object} obj\n * @param {String} prop\n * @returns\n */\nvar getProp = function (obj, prop) {\n checkType(obj, \"object\", bbn._(\"The obj must be an object in setProp\"));\n checkType(prop, \"string\", bbn._(\"The prop must be a string in setProp\"));\n return obj[prop];\n};\nexport { getProp };\n","/**\n * Returns the value of the given property from the given object.\n *\n * Looks for the given property in the given object, accepting dot (.) separator\n * for deep property access, and returns its value if found and undefined otherwise.\n *\n * @method getProperty\n * @global\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: 2}, 'b');\n * // 2\n * ```\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.o.a');\n * // 33\n * ```\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.h.a');\n * // undefined\n * ```\n * @memberof bbn.fn\n * @param {Object} obj\n * @param {String} props\n * @returns {*} The property's value or undefined\n */\nvar getProperty = function (obj) {\n var props = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n props[_i - 1] = arguments[_i];\n }\n if (typeof obj === 'object') {\n var arr = [];\n if (props.length === 1 && typeof props[0] === 'string') {\n arr.push.apply(arr, props[0].split('.'));\n }\n return arr.reduce(function (o, i) {\n if (o) {\n return o[i];\n }\n return undefined;\n }, obj);\n }\n};\nexport { getProperty };\n","import { search } from './search.js';\n/**\n * Returns the first object matching the given filter in an array of objects.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method getRow\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n * bbn.fn.getRow(ar, {director: \"Steven Spielberg\"});\n * // {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * bbn.fn.getRow(ar, \"director\", \"Steven Spielberg\");\n * // Same result as the previous example\n * bbn.fn.getRow(ar, {\n * logic: \"OR\",\n * conditions: [\n * {\n * field: \"director\",\n * value: \"Richard Donner\"\n * }, {\n * field: \"director\",\n * value: \"George Lucas\"\n * }\n * ]\n * );\n * // {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Object|Boolean} The item if found, false otherwise\n */\nvar getRow = function (arr, prop, val, operator) {\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n var idx = search(arr, prop, val, operator);\n if (idx > -1) {\n return arr[idx];\n }\n return false;\n};\nexport { getRow };\n","import { isArray } from '../type/isArray.js';\n/**\n * Returns a new array generated by the execution of a function for each item of the given array.\n *\n * The deepProp argument is the name of property which should contain a nested array on which\n * the function should also be applied recursively.\n *\n * @method map\n * @global\n * @example\n * ```javascript\n * bbn.fn.map([1, 2, 3, 4], a => {\n * return a + 1;\n * });\n * // [2, 3, 4, 5]\n * ```\n * @example\n * ```javascript\n * bbn.fn.map(\n * [{\n * name: \"tools\",\n * items: [\n * {\n * name: \"hammers\"\n * }, {\n * name: \"screwdrivers\",\n * items: [\n * {name: \"flat screwdrivers\"},\n * {name: \"slotted screwdrivers\"},\n * {name: \"Hex screwdrivers\"},\n * ]\n * }\n * ]\n * }, {\n * name: \"Kitchenware\"\n * }],\n * d => {\n * d.warranty = d.name === \"Hex screwdrivers\" ? \"10 years\" : \"1 year\";\n * return d;\n * },\n * \"items\"\n * );\n * // [\n * // {\n * // name: \"tools\",\n * // warranty: \"1 year\",\n * // items: [\n * // {\n * // name: \"hammers\",\n * // warranty: \"1 year\",\n * // }, {\n * // name: \"screwdrivers\",\n * // warranty: \"1 year\",\n * // items: [\n * // {name: \"flat screwdrivers\", warranty: \"1 year\"},\n * // {name: \"slotted screwdrivers\", warranty: \"1 year\"},\n * // {name: \"Hex screwdrivers\", warranty: \"10 year\"},\n * // ]\n * // }\n * // ]\n * // }, {\n * // name: \"Kitchenware\",\n * // warranty: \"1 year\"\n * // }\n * // ]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr\n * @param {Function} fn\n * @param {Boolean} deepProp\n * @param {Number} level\n * @returns {Array}\n */\nvar map = function (arr, fn, deepProp, level) {\n if (level === void 0) { level = 0; }\n return arr.map(function (a, i) {\n a = fn(a, i, level);\n if (deepProp && a[deepProp] && isArray(a[deepProp])) {\n a[deepProp] = map(a[deepProp], fn, deepProp, level + 1);\n }\n return a;\n });\n};\nexport { map };\n","/**\n * Moves an element to a different position within the given array.\n *\n * The same array is returned, with its elements reordered according to the executed movement.\n *\n * @method move\n * @global\n * @todo Finish doc\n * @example\n * ```javascript\n * bbbn.fn.move([\n * {movie: \"Brazil\", year: 1985},\n * {movie: \"Donnie Darko\", year: 2001},\n * {movie: \"Out of Africa\", year: 1985}\n * ], 1, 2);\n * // [\n * // {movie: \"Brazil\", year: 1985},\n * // {movie: \"Out of Africa\", year: 1985},\n * // {movie: \"Donnie Darko\", year: 2001}\n * // ]\n * ```\n * @example\n * ```javascript\n * bbn.fn.move([1, 2, 3, 4], 3, 0);\n * // [4, 1, 2, 3]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array\n * @param {Number} fromIndex The index of the element to move\n * @param {Number} toIndex The future index of the element\n * @returns {Array} The same array, with elements repositionned.\n */\nvar move = function (arr, fromIndex, toIndex) {\n if (toIndex >= arr.length) {\n var k = toIndex - arr.length;\n while (k-- + 1) {\n arr.push(undefined);\n }\n }\n arr.splice(toIndex, 0, arr.splice(fromIndex, 1)[0]);\n return arr;\n};\nexport { move };\n","import { _compareValues } from './_compareValues.js';\n/**\n * Sorts an array of objects based on a set of properties.\n *\n * The resulting array is the same object, the order is based on _compareValues function\n * applied for each given properties in orders argument.\n *\n * @method multiorder\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {movie: \"Brazil\", year: 1985},\n * {movie: \"Donnie Darko\", year: 2001},\n * {movie: \"Out of Africa\", year: 1985},\n * {movie: \"Ran\", year: 1985},\n * {movie: \"Back to the future\", year: 1985},\n * {movie: \"Barry Lindon\", year: 1976}\n * ];\n * bbn.fn.multiorder(ar, [\n * {field: \"year\", dir: \"desc\"},\n * {field: \"movie\", dir: \"asc\"}\n * ]);\n * // [\n * // {movie: \"Donnie Darko\", year: 2001},\n * // {movie: \"Back to the future\", year: 1985},\n * // {movie: \"Brazil\", year: 1985},\n * // {movie: \"Out of Africa\", year: 1985},\n * // {movie: \"Ran\", year: 1985},\n * // {movie: \"Barry Lindon\", year: 1976}\n * // ]\n * bbn.fn.multiorder(ar, {year: \"desc\", movie: \"asc\"});\n * // Same result with object shortcut\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to order\n * @param {Array|Object} orders The properties and directions (asc, desc) to order by\n * @returns {Array} The same array (arr), ordered differently\n */\nvar multiorder = function (arr, orders) {\n if (!orders) {\n return arr;\n }\n var currentOrders;\n if (!Array.isArray(orders) && typeof orders === 'object') {\n currentOrders = [];\n for (var n in orders) {\n currentOrders.push({ field: n, dir: orders[n] });\n }\n }\n else {\n currentOrders = orders;\n }\n if (!Array.isArray(currentOrders)) {\n throw new Error('The orders argument must be an array');\n }\n var r = arr.slice();\n return r.sort(function (a, b) {\n var res;\n for (var _i = 0, currentOrders_1 = currentOrders; _i < currentOrders_1.length; _i++) {\n var order = currentOrders_1[_i];\n res = _compareValues(a, b, order.field, order.dir);\n if (res !== 0) {\n return res;\n }\n }\n return 0;\n });\n};\nexport { multiorder };\n","import { isArray } from '../type/isArray.js';\nimport { hash } from '../string/hash.js';\nimport { isSame } from '../type/isSame.js';\nimport { search } from './search.js';\nvar mutateArray = function (a1, a2) {\n if (!isArray(a1, a2)) {\n throw new TypeError('mutateArray can only be called with arrays');\n }\n var mapA2 = new Map(a2.map(function (item) { return [hash(item), item]; }));\n var a1Ordered = [];\n // Build a1Ordered to have the same order and contents as a2\n a2.forEach(function (item) {\n a1Ordered.push(item);\n });\n // Remove items from a1 that are not in a2\n var i = a1.length;\n while (i--) {\n if (!mapA2.has(hash(a1[i]))) {\n a1.splice(i, 1);\n }\n }\n // Insert or move items to match the order of a2\n for (var j = 0; j < a1Ordered.length; j++) {\n if ((j >= a1.length) || !isSame(a1[j], a1Ordered[j])) {\n // Find the index of the item in a1, if it exists\n var indexInA1 = search(a1, a1Ordered[j]);\n if (indexInA1 !== -1) {\n // Move the item to the correct position if it already exists in a1\n var itemToMove = a1.splice(indexInA1, 1)[0];\n a1.splice(j, 0, itemToMove);\n }\n else {\n // Insert the new item from a2 into a1\n a1.splice(j, 0, a1Ordered[j]);\n }\n }\n }\n // If a1 has extra items at the end (not present in a2), remove them\n if (a1.length > a1Ordered.length) {\n a1.splice(a1Ordered.length, a1.length - a1Ordered.length);\n }\n return a1;\n};\nexport { mutateArray };\n","/**\n * Returns the number of properties contained in the object.\n *\n * Only takes into account the own properties - not the inherited ones - and the non _private_ ones.\n *\n * @method numProperties\n * @global\n * @example\n * ```javascript\n * bbn.fn.numProperties({author: \"Chuck Palahniuk\", \"title\": \"Fight club\"});\n * // 2\n * ```\n * @example\n * ```javascript\n * bbn.fn.numProperties({username: \"chuck\", \"password\": \"soap\", _bbn_timestamp: 1587323193751});\n * // 2\n * @example\n * ```javascript\n * let d = new Date();\n * bbn.fn.numProperties(d);\n * // 0\n * d.myProp = 1;\n * bbn.fn.numProperties(d);\n * // 1\n * ```\n * @memberof bbn.fn\n * @param {Object} obj The object to analyze\n * @returns {Number} The number of properties\n */\nvar numProperties = function (obj) {\n if (!obj || typeof obj !== 'object') {\n return 0;\n }\n return Object.keys(obj).length;\n};\nexport { numProperties };\n","import { _compareValues } from './_compareValues.js';\n/**\n * Sorts an array of objects based on the given property.\n *\n * The resulting array is the same object, the order is based on _compareValues function.\n *\n * @method order\n * @global\n * @example\n * ```javascript\n * bbn.fn.order([\n * {movie: \"Brazil\", year: 1985},\n * {movie: \"Donnie Darko\", year: 2001},\n * {movie: \"Barry Lindon\", year: 1976}\n * ], 'year', 'DESC')\n * // [\n * // {movie: \"Donnie Darko\", year: 2001},\n * // {movie: \"Brazil\", year: 1985},\n * // {movie: \"Barry Lindon\", year: 1976}\n * // ]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The array to order\n * @param {String} prop The property on which the order is based\n * @param {String} [dir=asc] The direction of the order (desc or asc by default)\n * @returns {Array}\n */\nvar order = function (arr, prop, dir) {\n if (dir === void 0) { dir = 'asc'; }\n if (arr) {\n return arr.sort(function (a, b) {\n return _compareValues(a, b, prop, dir);\n });\n }\n return arr;\n};\nexport { order };\n","var pickValue = function (arr) {\n if (Array.isArray(arr) && arr.length) {\n return arr[Math.floor(Math.random() * arr.length)];\n }\n};\nexport { pickValue };\n","import { isArray } from '../type/isArray.js';\nimport { isObject } from '../type/isObject.js';\nimport { numProperties } from './numProperties.js';\n/**\n * Returns a new array, having removed all elements deemed empty from the given array.\n *\n * Removes all the elements which are empty, i.e. false, 0, null, '', NaN, or undefined.\n *\n * @method removeEmpty\n * @global\n * @example\n * ```javascript\n * bbn.fn.removeEmpty([{prop1: 10, prop2: 20}, '', {}, null, 1, undefined, 0, false, 25]);\n * // [{prop1: 10, prop2: 20}, 1, 25]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr\n * @returns {Array}\n */\nvar removeEmpty = function (arr) {\n var tmp = [];\n if (isArray(arr)) {\n for (var i = 0; i < arr.length; i++) {\n var ok = false;\n if (arr[i]) {\n if (isArray(arr[i])) {\n if (arr[i].length) {\n ok = true;\n }\n }\n else if (isObject(arr[i])) {\n if (numProperties(arr[i])) {\n ok = true;\n }\n }\n else {\n ok = true;\n }\n }\n if (ok) {\n tmp.push(arr[i]);\n }\n }\n }\n return tmp;\n};\nexport { removeEmpty };\n","import { substr } from '../string/substr.js';\n/**\n * Returns an object with the original objects' properties starting with an alphanumeric character.\n *\n * It is presumed that external libraries, bbn variables use prefixes such as _ or $ for\n * naming private properties; this returns a new object purged from these properties.\n *\n * @method removePrivateProp\n * @global\n * @example\n * ```javascript\n * bbn.fn.removePrivateProp({\n * _bbn_timestamp: 1587269593987,\n * name: \"Wonka\",\n * fname: \"Willy\"\n * });\n * // {name: \"Wonka\", fname: \"Willy\"}\n * ```\n * @memberof bbn.fn\n * @param {Object} obj The original object\n * @param {Boolean} deep If true the function will be reapplied on object properties\n * @returns {Object} A new object without only the _public_ properties.\n */\nvar removePrivateProp = function (obj, deep) {\n if (deep === void 0) { deep = false; }\n var r = null;\n if (typeof obj === 'object') {\n r = {};\n for (var n in obj) {\n if (substr(n, 0, 1).match(/^[A-z0-9]$/) && (n in obj)) {\n if (deep && typeof obj[n] === 'object') {\n r[n] = removePrivateProp(obj[n], true);\n }\n else {\n r[n] = obj[n];\n }\n }\n }\n }\n return r || false;\n};\nexport { removePrivateProp };\n","import { isIterable } from '../type/isIterable.js';\nimport { compareConditions } from './compareConditions.js';\nimport { filterToConditions } from './filterToConditions.js';\nimport { isObject } from '../type/isObject.js';\nimport { numProperties } from './numProperties.js';\nimport { isNumber } from '../type/isNumber.js';\n/**\n * Retrieves the index of the array's first element corresponding to the given filter.\n *\n * Returns -1 if the element is not found. If the second parameter is an object or function\n * for filtering as defined in bbn.fn.filter, the remaining parameters will be shifted to the\n * left, i.e. val becomes operator, and operator startFrom. And if operator is a number, its value will\n * be given to startFrom and operator will be undefined. The filter object can be complex with different\n * operators (as seen in bbn.fn.compare) and logics (AND/OR), and infinitely nested, of this form:\n * ```javascript\n * {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"prop1\",\n * operator: \"eq\",\n * value: \"value1\"\n * }, {\n * logic: \"OR\",\n * conditions: [\n * {\n * field: \"prop2\",\n * operator: \"eq\",\n * value: 1\n * }. {\n * field: \"prop2\",\n * operator: \"eq\",\n * value: 2\n * }\n * ]\n * }\n * ]\n * }\n * ```\n * This way of managing the arguments is used in all the filtering functions.\n *\n * @method search\n * @global\n * @example\n * ```javascript\n * let ar = [\n * {name: \"Raiders of the lost ark\", director: \"Steven Spielberg\", year: 1981, id: 589},\n * {name: \"Goonies\", director: \"Richard Donner\", year: 1985, id: 689},\n * {name: \"Star wars\", director: \"George Lucas\", year: 1977, id: 256},\n * {name: \"Jaws\", director: \"Steven Spielberg\", year: 1975, id: 423}\n * ];\n *\n * bbn.fn.search(ar, \"id\", 256);\n * // 2\n *\n * bbn.fn.search(ar, {director: \"Steven Spielberg\"});\n * // 0\n *\n * bbn.fn.search(ar, {year: 1975, director: \"Steven Spielberg\"});\n * // 3\n *\n * bbn.fn.search(ar, {director: \"Steven Spielberg\"}, 1);\n * // 3\n *\n * // Complex filters\n * bbn.fn.search(ar, {\n * logic: \"AND\",\n * conditions: [\n * {\n * field: \"director\",\n * operator: \"eq\",\n * value: \"Steven Spielberg\"\n * }, {\n * logic: \"OR\",\n * conditions: [\n * {\n * field: \"year\",\n * operator: \"eq\",\n * value: 1974\n * }, {\n * field: \"year\",\n * operator: \"eq\",\n * value: 1975\n * }\n * ]\n * }\n * ]\n * });\n * // 3\n *\n * Simple array\n * bbn.fn.search(['a', 'b', 'c'], null, 'b');\n * // 1\n *\n * ```\n *\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @param {Number} startFrom The index from which the search should start\n * @returns {Number} The index if found, otherwise -1\n */\nvar search = function (arr, prop, val, operator, startFrom) {\n if (val === void 0) { val = null; }\n if (operator === void 0) { operator = '='; }\n if (startFrom === void 0) { startFrom = 0; }\n if (!isIterable(arr)) {\n throw new Error(bbn._('The first argument for a search should be iterable') + ' ' + typeof arr + ' ' + bbn._('given'));\n }\n if (!arr.length) {\n return -1;\n }\n var filter;\n var isFn = false;\n if (typeof prop === 'string') {\n filter = {\n conditions: [\n {\n field: prop,\n value: val,\n operator: operator || '=',\n },\n ]\n };\n }\n else if (!prop) {\n isFn = true;\n filter = function (a) {\n return compareConditions({ value: a }, filterToConditions({\n logic: 'AND',\n conditions: [\n {\n field: 'value',\n operator: operator || '=',\n value: val,\n },\n ],\n }));\n };\n }\n else {\n startFrom = typeof (operator) === 'number' ? operator : 0;\n operator = val;\n if (isObject(prop)) {\n filter = prop;\n }\n else if (typeof (prop) === 'function') {\n isFn = true;\n filter = prop;\n }\n }\n if (isFn || (isObject(filter) && numProperties(filter))) {\n if (isNumber(operator)) {\n startFrom = typeof (operator) === 'number' ? operator : 0;\n operator = undefined;\n }\n if (!isNumber(startFrom)) {\n startFrom = 0;\n }\n if (typeof filter === 'function') {\n for (var i = startFrom; i < arr.length; i++) {\n if (filter(arr[i])) {\n return i;\n }\n }\n }\n else {\n filter = filterToConditions(filter);\n for (var i = startFrom; i < arr.length; i++) {\n if (compareConditions(arr[i], filter)) {\n return i;\n }\n }\n }\n }\n return -1;\n};\nexport { search };\n","/**\n * Sets a given property on the given object\n *\n * @param {Object} obj\n * @param {String} prop\n * @param {*} value\n * @param {Boolean} writable\n * @param {Boolean} configurable\n */\nvar setProp = function (obj, prop, value, writable, configurable) {\n if (writable === void 0) { writable = true; }\n if (configurable === void 0) { configurable = true; }\n Object.defineProperty(obj, prop, {\n value: value,\n writable: writable,\n configurable: configurable,\n });\n};\nexport { setProp };\n","import { each } from '../loop/each.js';\n/**\n * Returns the value of the given property from the given object.\n *\n * Looks for the given property in the given object, accepting dot (.) separator\n * for deep property access, and returns its value if found and undefined otherwise.\n *\n * @method getProperty\n * @global\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: 2}, 'b');\n * // 2\n * ```\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.o.a');\n * // 33\n * ```\n * @example\n * ```javascript\n * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.h.a');\n * // undefined\n * ```\n * @memberof bbn.fn\n * @param {Object} obj\n * @param {String} prop\n * @returns {*} The property's value or undefined\n */\nvar setProperty = function (obj, prop, value, force) {\n if (typeof obj === 'object' && typeof prop === 'string') {\n var o_1 = obj;\n var bits_1 = prop.split('.');\n each(bits_1, function (v, i) {\n if (!o_1) {\n if (!force) {\n throw new Error(bbn._('The object is invalid'));\n }\n o_1 = {};\n }\n if (bits_1.length - 1 === i) {\n o_1[v] = value;\n }\n else {\n o_1 = o_1[v];\n }\n });\n }\n};\nexport { setProperty };\n","import { clone } from './clone.js';\nimport { each } from '../loop/each.js';\nimport { isString } from '../type/isString.js';\nimport { shorten } from '../string/shorten.js';\n/**\n * Shortens all the strings contained in the object properties or element in a array.\n *\n * Modifies directly the given object by cuttin all its too long strings, and adding ellipsis (...) in this case.\n *\n * @method shortenObj\n * @global\n * @example\n * ```javascript\n * bbn.fn.shortenObj({\n * title: \"Once upon a time in the west\",\n * synopsis: \"There's a single piece of land around Flagstone with water on it, and rail baron Morton (Gabriele Ferzetti) aims to have it, knowing the new railroad will have to stop there. He sends his henchman Frank (Henry Fonda) to scare the land's owner, McBain (Frank Wolff), but Frank kills him instead and pins it on a known bandit, Cheyenne (Jason Robards). Meanwhile, a mysterious gunslinger with a score to settle (Charles Bronson) and McBain's new wife, Jill (Claudia Cardinale), arrive in town.\"\n * }, 50)\n * // {\n * // \"title\": \"Once upon a time in the west\",\n * // \"synopsis\": \"There's a single piece of land around Flagstone wi...\"\n * // }\n * ```\n * @memberof bbn.fn\n * @param {(Object|Array)} obj\n * @param {Number} [max=100]\n * @returns {(Object|Array)} The same object, modified\n */\nvar shortenObj = function (obj, max) {\n if (max === void 0) { max = 100; }\n var o = clone(obj);\n each(o, function (a, n) {\n if (isString(a) && a.length > max) {\n o[n] = shorten(a, max);\n }\n else if (a && typeof a === \"object\") {\n o[n] = shortenObj(a);\n }\n });\n return o;\n};\nexport { shortenObj };\n","var shuffle = function (array) {\n var _a;\n var currentIndex = array.length, randomIndex;\n // While there remain elements to shuffle.\n while (currentIndex != 0) {\n // Pick a remaining element.\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n // And swap it with the current element.\n _a = [array[randomIndex], array[currentIndex]], array[currentIndex] = _a[0], array[randomIndex] = _a[1];\n }\n return array;\n};\nexport { shuffle };\n","import { each } from '../loop/each.js';\nimport { filter } from './filter.js';\n/**\n * Returns the sum of the given property or function for the array's elements matching the filter.\n *\n * The filtering arguments follow the same scheme as bbn.fn.search.\n *\n * @method sum\n * @global\n * @example\n * ```javascript\n * let invited = [\n * {name: \"Robert De Niro\", attendees: 2, confirmed: true},\n * {name: \"Al Pacino\", attendees: 1, confirmed: false},\n * {name: \"James Caan\", attendees: 4, confirmed: false},\n * {name: \"Harvey Keitel\", attendees: 5, confirmed: true}\n * ];\n * // No filter\n * bbn.fn.sum(invited, \"attendees\");\n * // 12\n * // Filter\n * bbn.fn.sum(invited, \"attendees\", {confirmed: true});\n * // 7\n * ```\n * @example\n * ```javascript\n * let cart = [\n * {article: \"Toothpaste\", price: 2.50, quantity: 1},\n * {article: \"Toothbrush\", price: 6, quantity: 2},\n * {article: \"Banana\", price: 0.50, quantity: 3},\n * {article: \"T-shirt\", price: 14, quantity: 3}\n * ];\n * bbn.fn.sum(cart, a => a.price * a.quantity);\n * // 58\n * // Only the items with a quantity equal to 3\n * bbn.fn.sum(cart, a => a.price * a.quantity, {quantity: 3});\n * // 43.5\n * ```\n * @memberof bbn.fn\n * @param {Array} arr The subject array\n * @param {(String|Function)} numberProp The property's name for which the value should be added to the sum, or a function returning the number.\n * @param {(String|Object|Function)} prop A property's name or a filter object or function\n * @param {*} val The value with which comparing the given property\n * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare\n * @returns {Number} The sum\n */\nvar sum = function (arr, numberProp, prop, val, operator) {\n var r = 0;\n each(filter(arr, prop, val, operator), function (a) {\n var tmp = typeof numberProp === 'function' ? numberProp(a) : a[numberProp];\n if (tmp) {\n r += parseFloat(tmp) || 0;\n }\n });\n return r;\n};\nexport { sum };\n","/**\n * Removes duplicate values from an array.\n *\n * Takes an input array and returns a new array without duplicate values.\n *\n * @method unique\n * @global\n * @example\n * ```javascript\n * bbn.fn.unique([\"a\", \"b\", \"a\", \"b\", \"a\", \"b\", \"c\", \"c\", \"d\"]);\n * // [\"a\", \"b\", \"c\", \"d\"]\n * ```\n * @memberof bbn.fn\n * @param {Array} arr\n * @returns {Array}\n */\nvar unique = function (arr) {\n return arr.filter(function (el, index, ar) {\n return index === ar.indexOf(el);\n });\n};\nexport { unique };\n","import { isString } from '../type/isString.js';\nimport { substr } from './substr.js';\n/**\n * Returns the name of the element indicated by path given to it as an argument.\n *\n * @method baseName\n * @global\n *\n * @example\n * ```javascript\n * // \"file.png\"\n * bbn.fn.baseName('folder/other_folder/file.png');\n * ```\n * @example\n * ```javascript\n * // \"file\"\n * bbn.fn.baseName('folder/other_folder/file.png', '.png');\n * ```\n *\n * @memberof bbn.fn\n * @param {String} path The path from which the basename must be extracted\n * @param {String} suffix An optional suffix that will be removed from the basename\n * @returns {String} The basename of path\n */\nvar baseName = function (path, suffix) {\n if (path && isString(path)) {\n var bits = path.split(\"/\");\n var res = bits.pop();\n if (!suffix) {\n return res;\n }\n var len = suffix.length;\n if (res && substr(res, -len) === suffix) {\n return substr(res, 0, res.length - len);\n }\n }\n return \"\";\n};\nexport { baseName };\n","import { replaceAll } from './replaceAll.js';\n/**\n * Replaces the html <br> tag with new line characters '\\ n' if present in the string.\n *\n * @method br2nl\n * @global\n *\n * @example\n * ```javascript\n * //\"hello\n * //world!\"\n * bbn.fn.br2nl('hello <br> world!')\n * ```\n *\n * @memberof bbn.fn\n * @param string st\n * @returns {String}\n */\nvar br2nl = function (st) {\n return replaceAll(\"<br />\", \"\\n\", replaceAll(\"<br/>\", \"\\n\", replaceAll(\"<br>\", \"\\n\", st)));\n};\nexport { br2nl };\n","/**\n * Returns the string passed as an argument in camelize mode for css.\n *\n * @method camelToCss\n * @global\n *\n * @example\n * ```javascript\n * //\"this-is-a-test\"\n * bbn.fn.camelToCss(\"thisIsATest\");\n * ```\n *\n * @memberof bbn.fn\n * @param {String} str\n * @returns {String}\n */\nvar camelToCss = function (str) {\n return str\n .replace(/([A-Z])/g, function (st) {\n return \"-\" + st.toLowerCase();\n })\n .replace(\"/^./\", function (st) {\n return st.toLowerCase();\n });\n};\nexport { camelToCss };\n","/**\n * Returns the string passed as an argument in camelize mode.\n *\n * A string can be separated for example by a underscore, a dash or space;\n * so the camelize function will automatically convert them to a single string.\n *\n * @method camelize\n * @global\n *\n * @example\n * ```javascript\n * //\"thisIsATest\"\n * bbn.fn.camelize(\"this_is-a test\");\n * ```\n * @memberof bbn.fn\n * @param {String} str\n * @returns {String}\n */\nvar camelize = function (str) {\n return str.replace(/^([A-Z])|[\\s-](\\w)/g, function (match, p1, p2, offset) {\n if (p2) {\n return p2.toUpperCase();\n }\n return p1.toLowerCase();\n });\n};\nexport { camelize };\n","/**\n * Converts the first character of the string to uppercase.\n *\n * @method correctCase\n * @global\n *\n * @example\n * ```javascript\n * //\"This is a test\"\n * bbn.fn.correctCase(\"this is a test\");\n * ```\n *\n * @memberof bbn.fn\n * @param {STring} str\n * @returns {String}\n */\nvar correctCase = function (str) {\n return str.replace(/[A-z]{1}/, function (c) { return c.toUpperCase(); });\n};\nexport { correctCase };\n","/**\n * CRC32 implementation.\n */\nvar crc32Table = [];\nfor (var i = 0; i < 256; i++) {\n var c = i;\n for (var j = 0; j < 8; j++) {\n c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;\n }\n crc32Table.push(c);\n}\nvar crc32 = function (str) {\n var crc = 0 ^ -1;\n for (var i = 0; i < str.length; i++) {\n var charCode = str.charCodeAt(i);\n crc = (crc >>> 8) ^ crc32Table[(crc ^ charCode) & 0xff];\n }\n return (crc ^ -1) >>> 0; // Make sure the result is a 32-bit positive integer\n};\nexport { crc32 };\n","import { isString } from '../type/isString.js';\nimport { substr } from './substr.js';\n/**\n * Returns the path of the folder containing the last hierarchical element of the path.\n *\n * @method dirName\n * @global\n *\n * @example\n * ```javascript\n * //\"folder/other_folder\"\n * bbn.fn.dirName('folder/other_folder/file');\n * ```\n * @memberof bbn.fn\n * @param {String} path\n * @returns {String} path of the folder\n */\nvar dirName = function (path) {\n if (isString(path) && path) {\n while (substr(path, path.length - 1) === \"/\") {\n path = substr(path, 0, path.length - 1);\n }\n var pos = path.lastIndexOf(\"/\");\n if (pos > 0) {\n return substr(path, 0, pos);\n }\n if (pos === 0) {\n return \"/\";\n }\n }\n return \"\";\n};\nexport { dirName };\n","import { isString } from '../type/isString.js';\nvar escapeDquotes = function (str) {\n if (!isString(str)) {\n return str;\n }\n return str.replace(/\"/g, '\\\\\"');\n};\nexport { escapeDquotes };\n","/**\n * Returns a string escaped.\n *\n * To escape the string by reducing the ambiguity between quotation marks and other characters used.\n *\n * @method escapeRegExp\n * @global\n *\n * @example\n * ```javascript\n * //\"this\\/is\\/a\\/test\\/string\"\n * bbn.fn.escapeRegExp(\"this/is/a/test/string\");\n * ```\n * @memberof bbn.fn\n * @param {String} str\n * @returns {String} string with escape\n */\nvar escapeRegExp = function (str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n};\nexport { escapeRegExp };\n","import { isString } from '../type/isString.js';\nvar escapeSquotes = function (str) {\n if (!isString(str)) {\n return str;\n }\n return str.replace(/'/g, \"\\\\'\");\n};\nexport { escapeSquotes };\n","import { isString } from '../type/isString.js';\nvar escapeTicks = function (str) {\n if (!isString(str)) {\n return str;\n }\n return str.replace(/`/g, '\\\\`');\n};\nexport { escapeTicks };\n","import { each } from '../loop/each.js';\nimport { dirName } from './dirName.js';\nimport { baseName } from './baseName.js';\nimport { isString } from '../type/isString.js';\n/**\n * Escapes a URL or a file path, optionally adding parameters (get type, to append to the URL without the first separator).\n *\n * @param {*} url\n * @param {*} params\n * @returns\n */\nvar escapeUrl = function (url, params) {\n var st = \"\";\n if (url.match(\"^(http|https)://\")) {\n st += \"http\";\n url = url.substring(4);\n if (url.substr(0, 1) === \"s\") {\n st += \"s\";\n url = url.substring(1);\n }\n st += \"://\";\n url = url.substring(3);\n }\n each(dirName(url).split(\"/\"), function (a) {\n st += encodeURIComponent(a) + \"/\";\n });\n var base = baseName(url);\n var sep = \"?\";\n var existingParams = \"\";\n if (base.indexOf(sep)) {\n var tmp = base.split(\"?\");\n sep = \"&\";\n existingParams = \"?\" + tmp[1];\n base = tmp[0];\n }\n if (params && isString(params)) {\n if (params.match(\"^(\\\\&|\\\\?)\")) {\n params = params.substring(1);\n }\n params = sep + params;\n }\n else {\n params = \"\";\n }\n return st + encodeURIComponent(base) + existingParams + params;\n};\nexport { escapeUrl };\n","import { isString } from '../type/isString.js';\n/**\n * Gets the extension from a file's name.\n *\n * The extension is returned in lower case; if the filename has no extension\n * or is not valid it will return an empty string.\n *\n * @method fileExt\n * @global\n *\n * @example\n * ```javascript\n * // \"txt\"\n * bbn.fn.fileExt('my_file.txt')\n * ```\n *\n * @example\n * ```javascript\n * // \"txt\"\n * bbn.fn.fileExt('MY_FILE.TXT')\n * ```\n *\n * @example\n * ```javascript\n * // \"\"\n * bbn.fn.fileExt('MY_FILE')\n * ```\n *\n * @example\n * ```javascript\n * // \"\"\n * bbn.fn.fileExt('.MY_FILE')\n * ```\n *\n * @param {String} filename\n * @returns {String} The file's extension\n */\nvar fileExt = function (filename) {\n if (filename && isString(filename)) {\n var bits = filename.split(\".\");\n if (bits[0] && bits.length > 1) {\n return bits[bits.length - 1].toLowerCase();\n }\n }\n return \"\";\n};\nexport { fileExt };\n","import { checkType } from '../type/checkType.js';\nvar format = function (str) {\n var args = Array.prototype.slice.call(arguments, 1);\n if (args.length) {\n var i_1 = 0;\n return str.replace(/\\%([d|s])/g, function (match, type) {\n var tmp = args[i_1++];\n checkType(tmp, type === 'd' ? 'number' : 'string', bbn._(\"The value doesn't correspond to the format\"));\n return tmp;\n });\n }\n return str;\n};\nexport { format };\n","/**\n * Formats the value given in bytes.\n * @method formatBytes\n * @global\n * @example\n * //\"52.23 MB\"\n * ``` javascript\n * bbn.fn.formatBytes(54764654);\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar formatBytes = function (bytes, decimals) {\n if (decimals === void 0) { decimals = 2; }\n if (!bytes) {\n return '0 B';\n }\n var k = 1024, s = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(decimals < 0 ? 0 : decimals)) + ' ' + s[i];\n};\nexport { formatBytes };\n","import { isNumber } from '../type/isNumber.js';\nimport { isString } from '../type/isString.js';\nvar formatSize = function (st, noValid) {\n if (isNumber(st)) {\n return st + 'px';\n }\n if (isString(st)) {\n return st;\n }\n return noValid ? false : 'auto';\n};\nexport { formatSize };\n","import { isDom } from '../type/isDom.js';\nimport { isCp } from '../type/isCp.js';\nimport { circularReplacer } from '../object/circularReplacer.js';\nimport { simpleHash } from './simpleHash.js';\n/**\n * Makes a hash out of anything\n * @param {Object|Array} obj\n * @returns {String}\n */\nvar hash = function (obj) {\n //log(obj);\n var st = \"__bbn__\";\n for (var i in arguments) {\n if (arguments[i]) {\n var value = arguments[i];\n if (isDom(value)) {\n if (value.bbnId) {\n st +=\n \"__BBN_DOM__\" + value.tagName + \"/\" + value.bbnId + value.bbnHash;\n }\n else {\n st += \"__BBN_DOM__\" + value.tagName + \"/\" + value.className;\n }\n }\n else if (isCp(value)) {\n st += \"__BBN_CP__\" + value.$options.name + \"/\" + value.$cid;\n }\n else {\n try {\n st += JSON.stringify(arguments[i], circularReplacer());\n }\n catch (e) {\n st += \".\";\n }\n }\n }\n }\n return simpleHash(st);\n};\nexport { hash };\n","/**\n * Converts and returns the argument passed in a string in md5 format.\n *\n * This is a formatted version of popular md5 implementation\n * Original copyright (c) Paul Johnston & Greg Holt.\n *\n *\n * @method md5\n * @global\n *\n * @example\n * ```javascript\n * //\"486eb65274adb86441072afa1e2289f3\"\n * bbn.fn.md5(\"this is a test string\");\n * ```\n *\n * @memberof bbn.fn\n * @param {Mixed} st\n * @returns {String} in md5 format\n */\nvar md5 = function (st) {\n var hc = \"0123456789abcdef\";\n function rh(n) {\n var j, s = \"\";\n for (j = 0; j <= 3; j++)\n s +=\n hc.charAt((n >> (j * 8 + 4)) & 0x0f) + hc.charAt((n >> (j * 8)) & 0x0f);\n return s;\n }\n function ad(x, y) {\n var l = (x & 0xffff) + (y & 0xffff);\n var m = (x >> 16) + (y >> 16) + (l >> 16);\n return (m << 16) | (l & 0xffff);\n }\n function rl(n, c) {\n return (n << c) | (n >>> (32 - c));\n }\n function cm(q, a, b, x, s, t) {\n return ad(rl(ad(ad(a, q), ad(x, t)), s), b);\n }\n function ff(a, b, c, d, x, s, t) {\n return cm((b & c) | (~b & d), a, b, x, s, t);\n }\n function gg(a, b, c, d, x, s, t) {\n return cm((b & d) | (c & ~d), a, b, x, s, t);\n }\n function hh(a, b, c, d, x, s, t) {\n return cm(b ^ c ^ d, a, b, x, s, t);\n }\n function ii(a, b, c, d, x, s, t) {\n return cm(c ^ (b | ~d), a, b, x, s, t);\n }\n function sb(x) {\n var i;\n var nblk = ((x.length + 8) >> 6) + 1;\n var blks = new Array(nblk * 16);\n for (i = 0; i < nblk * 16; i++)\n blks[i] = 0;\n for (i = 0; i < x.length; i++)\n blks[i >> 2] |= x.charCodeAt(i) << ((i % 4) * 8);\n blks[i >> 2] |= 0x80 << ((i % 4) * 8);\n blks[nblk * 16 - 2] = x.length * 8;\n return blks;\n }\n var i, x = sb(st), a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, olda, oldb, oldc, oldd;\n for (i = 0; i < x.length; i += 16) {\n olda = a;\n oldb = b;\n oldc = c;\n oldd = d;\n a = ff(a, b, c, d, x[i + 0], 7, -680876936);\n d = ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = ff(c, d, a, b, x[i + 10], 17, -42063);\n b = ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = gg(b, c, d, a, x[i + 0], 20, -373897302);\n a = gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = hh(a, b, c, d, x[i + 5], 4, -378558);\n d = hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = hh(d, a, b, c, x[i + 0], 11, -358537222);\n c = hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = ii(a, b, c, d, x[i + 0], 6, -198630844);\n d = ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = ad(a, olda);\n b = ad(b, oldb);\n c = ad(c, oldc);\n d = ad(d, oldd);\n }\n return rh(a) + rh(b) + rh(c) + rh(d);\n};\nexport { md5 };\n","import { replaceAll } from './replaceAll.js';\n/**\n * Replaces all new line characters '\\ n' with html tag '<br>'.\n *\n * @method nl2br\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.nl2br('hello \\n world!');\n * //\"hello <br> world!\"\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {String}\n */\nvar nl2br = function (st, keepNl) {\n return replaceAll(\"\\n\", \"<br>\" + (keepNl ? \"\\n\" : \"\"), st);\n};\nexport { nl2br };\n","/**\n * @method printf\n * @todo Add method description for printf\n * @global\n * @memberof bbn.fn\n * @param String format\n * @returns {*}\n */\nvar printf = function (format) {\n var args = Array.prototype.slice.call(arguments, 1);\n return format.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] != \"undefined\" ? args[number] : match;\n });\n};\nexport { printf };\n","import { replaceAll } from './replaceAll.js';\n/**\n * Replace quotes in ASCII code\n *\n * @method quotes2html\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.quotes2html(\"hello 'world'!\", 's');\n * // hello 'world'!\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.quotes2html('hello \"world\\'s\"!', 'd');\n * // hello "world'sd"!\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.quotes2html('hello \"world\\'s\"!');\n * // hello "world'sd"!\n * ```\n *\n * @memberof bbn.fn\n * @param {String} st\n * @returns {String}\n */\nvar quotes2html = function (st, type) {\n if (!type || type.toLowerCase().indexOf(\"s\") === 0) {\n st = replaceAll(\"'\", \"'\", st);\n }\n if (!type || type.toLowerCase().indexOf(\"d\") === 0) {\n st = replaceAll('\"', \""\", st);\n }\n return st;\n};\nexport { quotes2html };\n","import { randomInt } from '../misc/randomInt.js';\n/**\n * Returns a random String with random lenght,\n *\n * Generates a random string from the length of the random number,\n * taken from a range of numbers providing either only the minimum or also the maximum as arguments.\n *\n * @method randomString\n * @global\n *\n * @example\n * ```javascript\n * //\"U7xXO0Xb\"\n * bbn.fn.randomString(3,10);\n * ```\n *\n * @example\n * ```javascript\n * //\"H8F\"\n * bbn.fn.randomString(3);\n * ```\n *\n * @memberof bbn.fn\n * @param {Number} length\n * @param {String} chars\n * @returns {String}\n */\nvar randomString = function (min, max, types) {\n var length;\n var type;\n var chars = {\n n: \"0123456789\",\n l: \"abcdefghijklmnopqrstuvwxyz\",\n u: \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\n };\n if (!types) {\n types = \"nlu\";\n }\n if (!min) {\n length = randomInt(8, 14);\n }\n if (typeof max === \"string\") {\n types = \"n\";\n delete chars.l;\n delete chars.u;\n chars.n = max;\n if (!length) {\n length = min;\n }\n }\n else if (typeof max === \"number\" && min < max) {\n length = randomInt(min, max);\n }\n else if (min) {\n length = min;\n }\n var result = \"\";\n for (var i = 0; i < length; i++) {\n // Not a number for the first char\n if (i === 0) {\n if (types !== \"n\") {\n type = types.indexOf(\"u\") === -1 ? \"l\" : \"u\";\n }\n }\n else {\n type = types[Math.floor(Math.random() * types.length)];\n }\n result += chars[type][Math.floor(Math.random() * chars[type].length)];\n }\n return result;\n};\nexport { randomString };\n","import { isString } from '../type/isString.js';\nimport { log } from '../browser/log.js';\n/**\n * Returns the string passed as an argument without accents.\n *\n * @method removeAccents\n * @global\n *\n * @example\n * ```javascript\n * //\"eeou\"\n * bbn.fn.removeAccents(\"èéòù\");\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {String}\n */\nvar removeAccents = function (st) {\n if (!isString(st)) {\n if (st.toString) {\n st = st.toString();\n }\n else {\n log(st);\n throw new Error(bbn._(\"removeAccent expects a string\"));\n }\n }\n return st.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n};\nexport { removeAccents };\n","/**\n * Removes all group of spaces by one single space.\n * @param {String} str\n * @returns\n */\nvar removeExtraSpaces = function (str) {\n return str.replace(/\\s+/g, \" \").trim();\n};\nexport { removeExtraSpaces };\n","import { isString } from '../type/isString.js';\nvar removeHtmlComments = function (str) {\n if (!isString(str)) {\n return str;\n }\n return str.replace(/<!--[\\s\\S]*?-->/g, '');\n};\nexport { removeHtmlComments };\n","import { substr } from './substr.js';\n/**\n * @method removeTrailingChars\n * @todo Add method description for removeTrailingChars\n * @global\n * @memberof bbn.fn\n * @param {String} st\n * @param {String} char\n * @returns {*}\n */\nvar removeTrailingChars = function (st, char) {\n if (!char) {\n char = \" \";\n }\n if (char.length) {\n while (substr(st, -char.length) === char) {\n st = substr(st, 0, st.length - char.length);\n }\n while (substr(st, 0, char.length) === char) {\n st = substr(st, char.length);\n }\n }\n return st;\n};\nexport { removeTrailingChars };\n","/**\n * Returns a string which is the repetition of the first argument for the number passed in the second argument.\n *\n * @method repeat\n * @global\n *\n * @example\n * ```javascript\n * //\"HelloHelloHello\"\n * bbn.fn.repeat('Hello', 3);\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar repeat = function (st, num) {\n return st.repeat(num);\n};\nexport { repeat };\n","import { isObject } from '../type/isObject.js';\nimport { escapeRegExp } from './escapeRegExp.js';\n/**\n * Looks for and replaces parts of string with what we want.\n *\n * With the first argument you define what to replace,\n * the second argument with what you have to replace instead and the third argument is the string to be replaced.\n *\n * @method replaceAll\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.replaceAll('day', 'night', 'Today is a beautiful day');\n * //\"Tonight is a beautiful night\"\n * ```\n * @memberof bbn.fn\n * @param {String} find\n * @param {String} replace\n * @param {String|RegExp} str\n * @param {String} flags\n * @returns {String}\n */\nvar replaceAll = function (find, replace, str, flags) {\n if (flags === void 0) { flags = \"\"; }\n return str\n .toString()\n .replace(isObject(find) ? find : new RegExp(escapeRegExp(find), \"g\" + flags), replace);\n};\nexport { replaceAll };\n","import { removeAccents } from './removeAccents.js';\nimport { trim } from './trim.js';\n/**\n * Removes all unacceptable characters in a DOM node.\n *\n * @method sanitize\n * @global\n *\n * @example\n * ```javascript\n * //\"this_is_a_test\"\n * bbn.fn.sanitize(\"this&is_$a^test\");\n * ```\n *\n * @memberof bbn.fn\n * @returns {String} str\n */\nvar sanitize = function (str, separator) {\n if (separator === void 0) { separator = \"_\"; }\n var escaped = [\"[\", \"]\", \"{\", \"}\", \"(\", \")\", \"-\", \"+\", \"*\", \"/\"];\n var exp = \"[\";\n for (var i = 0; i < separator.length; i++) {\n if (escaped.includes(separator[i])) {\n exp += \"\\\\\";\n }\n exp += separator[i];\n }\n exp += \"]+\";\n var re = new RegExp(exp, \"g\");\n var res = removeAccents(str)\n .replace(/[^a-z0-9]/gi, separator)\n .replace(re, separator);\n return trim(res, separator);\n};\nexport { sanitize };\n","import { isString } from '../type/isString.js';\nimport { substr } from './substr.js';\n/**\n * Shortens the given string after *len* characters.\n *\n * Provides an abbreviation to the string passed as the first argument,\n * deciding through the second argument the number of characters to keep and the remainder replaced\n * by what is passed as the third argument and if not given a defalut it is: '...'\n *\n * @method shorten\n * @global\n *\n * @example\n * ```javascript\n * //\"test***\"\n * bbn.fn.shorten('testing', 4, '***');\n * ```\n * @example\n * ```javascript\n * //\"test...\"\n * bbn.fn.shorten('testing', 4);\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @param {Number} len\n * @returns {String}\n */\nvar shorten = function (st, len, adj) {\n if (typeof st.toLowerCase() === \"string\") {\n if (!len) {\n len = bbn.var.shortenLen;\n }\n if (adj === undefined || !isString(adj)) {\n adj = \"...\";\n }\n if (st.length > len) {\n st = substr(st, 0, len) + adj;\n }\n }\n return st;\n};\nexport { shorten };\n","import { simpleHash1 } from './simpleHash1.js';\nimport { simpleHash2 } from './simpleHash2.js';\nvar simpleHash = function (str) {\n var part1 = simpleHash1(str).padStart(8, '0');\n var part2 = simpleHash2(str).padStart(8, '0');\n return part1 + part2;\n};\nexport { simpleHash };\n","var simpleHash1 = function (str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) {\n var char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash |= 0; // Convert to 32-bit integer\n }\n return Math.abs(hash).toString(16);\n};\nexport { simpleHash1 };\n","var simpleHash2 = function (str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) {\n var char = str.charCodeAt(i);\n hash = char + (hash << 6) + (hash << 16) - hash;\n hash |= 0; // Convert to 32-bit integer\n }\n return Math.abs(hash).toString(16);\n};\nexport { simpleHash2 };\n","import { isString } from '../type/isString.js';\nimport { isInt } from '../type/isInt.js';\nimport { log } from '../browser/log.js';\n/**\n * Basic substring function accepting both positive and negative values.\n *\n * @method substr\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.substr(bbn.fn, 'Hello', -3, -1);\n * // \"ll\"\n * bbn.fn.substr(bbn.fn, 'Hello', -3);\n * // \"llo\"\n * bbn.fn.substr(bbn.fn, 'Hello', 0, 1);\n * // \"H\"\n * ```\n * @memberof bbn.fn\n * @param {String} str\n * @param {Number} from\n * @param {Number} length\n * @returns {String} Result substring\n */\nvar substr = function (str, from, length) {\n if (!isString(str) || !isInt(from)) {\n log(arguments);\n throw new Error(bbn._(\"The substr function should be applied to a string and at least a `from` argument should be given\"));\n }\n if (from < 0) {\n from = str.length + from;\n }\n if (!isInt(length)) {\n return str.substring(from);\n }\n return str.substring(from, (length < 0 ? str.length : from) + length);\n};\nexport { substr };\n","import { substr } from './substr.js';\nvar trim = function (str, hair) {\n if (hair === void 0) { hair = ' '; }\n if (hair === ' ') {\n return str.trim();\n }\n if (!hair) {\n return str;\n }\n if (hair === str) {\n return '';\n }\n while (str.indexOf(hair) === 0) {\n str = substr(str, hair.length);\n }\n while (str.lastIndexOf(hair) === str.length - hair.length) {\n str = substr(str, 0, str.length - hair.length);\n }\n return str;\n};\nexport { trim };\n","import { isArray } from '../type/isArray.js';\nimport { each } from '../loop/each.js';\nimport { md5 } from './md5.js';\n/**\n * Create a unique string in md5 format.\n *\n * Converts and return all the arguments inserted in a unique string in md5 format.\n *\n * @method uniqString\n * @global\n *\n * @example\n * ```javascript\n * //\"6cb083da4d4987af9b4fa4ad8ca23bb1\"\n * bbn.fn.uniqString('test',['test'],{id:1, test:2},4);\n * ```\n * @memberof bbn.fn\n * @returns {String} The unique string in md5 format\n */\nvar uniqString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var st = \"\";\n var _loop_1 = function () {\n if (!args[i]) {\n st += \"__bbn_empty__\";\n }\n else if (typeof args[i] === \"object\") {\n if (isArray(args[i])) {\n st += JSON.stringify(args[i]);\n }\n else {\n // An object with the same properties, even in different order, should produce the same answer\n var tmp_1 = {};\n var ks = Object.keys(args[i]).sort();\n each(ks, function (k) {\n tmp_1[k] = args[i][k];\n });\n st += JSON.stringify(tmp_1);\n }\n }\n else if (typeof args[i] !== \"string\") {\n st += args[i].toString();\n }\n else {\n st += args[i];\n }\n };\n for (var i = 0; i < args.length; i++) {\n _loop_1();\n }\n return md5(st);\n};\nexport { uniqString };\n","import { numProperties } from '../object/numProperties.js';\nimport { iterate } from '../loop/iterate.js';\n/**\n * Adds the given color to the object bbn.var.colors in order to be able to use\n * the css classes bbn-bg-myColor for the background and bbn-myColor for the text color.\n *\n * @method addColors\n * @global\n * @example\n * ```javascript\n * //<div class=\"bbn-bg-maroon\">background</div> <span class=\"bbn-maroon\">text color</span>\n * bbn.fn.addColors({maroon: '#800000'});\n * ```\n * @memberof bbn.fn\n * @param {Object} colors\n * @returns\n */\nvar addColors = function (colors) {\n if (numProperties(colors)) {\n if (!bbn.var.colors) {\n bbn.var.colors = {};\n }\n var element = document.createElement(\"style\");\n document.head.appendChild(element);\n var sheet_1 = element.sheet;\n // Append style element to head\n var i_1 = 0;\n iterate(colors, function (v, n) {\n bbn.var.colors[n] = v;\n sheet_1.insertRule(\".bbn-\" +\n n +\n \", .bbn-color-text-\" +\n n +\n \" {color: \" +\n v +\n \" !important;}\", i_1);\n sheet_1.insertRule(\"svg.bbn-\" +\n n +\n \", .bbn-\" +\n n +\n \" svg, svg.bbn-color-text-\" +\n n +\n \", .bbn-color-text-\" +\n n +\n \" svg {fill: \" +\n v +\n \";}\", i_1);\n sheet_1.insertRule(\".bbn-bg-\" +\n n +\n \", .bbn-color-bg-\" +\n n +\n \", .bbn-color-background-\" +\n n +\n \" {background-color: \" +\n v +\n \" !important;}\", i_1);\n sheet_1.insertRule(\".bbn-border-\" +\n n +\n \", .bbn-color-border-\" +\n n +\n \" {border-color: \" +\n v +\n \" !important;}\", i_1);\n sheet_1.insertRule(\".bbn-color-\" +\n n +\n \" {border-color: \" +\n v +\n \"; background-color: \" +\n v +\n \"; color: \" +\n v +\n \";}\", i_1);\n });\n }\n};\nexport { addColors };\n","import { isObject } from '../type/isObject.js';\nimport { iterate } from '../loop/iterate.js';\n/**\n * @ignore\n * @method addStyle\n * @todo Add method description for addStyle\n * @global\n * @memberof bbn.fn\n * @param {HTMLElement} ele\n * @param {Object} o\n * @returns {*}\n */\nvar addStyle = function (ele, o) {\n if (isObject(o)) {\n iterate(o, function (v, k) {\n ele.style[k] = v;\n });\n }\n};\nexport { addStyle };\n","/**\n * @ignore\n * @method animateCss\n * @todo Add method description for animateCss\n * @global\n * @memberof bbn.fn\n * @param {HTMLElement} ele\n * @param {String} animationName\n * @param {Function} callback\n * @returns {*}\n */\nvar animateCss = function (ele, animationName, callback) {\n var animationEnd = \"webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend\";\n /*$(ele).addClass('animated ' + animationName).one(animationEnd, function(){\n if ( typeof callback == 'function' ){ // make sure the callback is a function\n callback.call(this); // brings the scope to the callback\n }\n $(this).removeClass('animated ' + animationName);\n })*/\n ele.classList.add(\"animated\");\n ele.classList.add(animationName);\n ele.addEventListener(animationEnd, function animationEndHandler(e) {\n e.target.removeEventListener(e.type, animationEndHandler);\n if (typeof callback == \"function\") {\n // make sure the callback is a function\n callback.call(this); // brings the scope to the callback\n }\n e.target.classList.remove(animationName);\n });\n};\nexport { animateCss };\n","/**\n * Centers the given element by giving it a position absolute.\n *\n * @method center\n * @global\n * @example\n * ```javascript\n * //<div style=\"position: absolute; top: 73px; left: 0px;\">Documentation</div>\n * bbn.fn.center('<div>Documentation</div>')\n * ```\n * @memberof bbn.fn\n * @param {HTMLElement} ele\n * @returns {HTMLElement} The dom element with the new style.\n */\nvar center = function (ele) {\n //ele = $(ele);\n var parent = ele.parentNode, \n //w = parent.width(),\n w = parent.clientWidth, \n //h = parent.height();\n h = parent.clientHeight;\n while (parent && (!w || !h)) {\n /*parent = parent.parent(),\n w = parent.width(),\n h = parent.height();*/\n parent = ele.parentNode;\n w = parent.clientWidth;\n h = parent.clientHeight;\n }\n //ele.css(\"position\",\"absolute\");\n ele.style.position = \"absolute\";\n //ele.css(\"top\", Math.max(0, ((h - ele.outerHeight()) / 2) + parent.scrollTop()) + \"px\");\n ele.style.top =\n Math.max(0, (h - ele.offsetHeight) / 2 + parent.scrollTop) + \"px\";\n //ele.css(\"left\", Math.max(0, ((w - ele.outerWidth()) / 2) + parent.scrollLeft()) + \"px\");\n ele.style.left =\n Math.max(0, (h - ele.offsetWidth) / 2 + parent.scrollLeft) + \"px\";\n return ele;\n};\nexport { center };\n","//import { log } from './log.js' ;\nimport { escapeRegExp } from '../string/escapeRegExp.js';\n/**\n * not used\n * @ignore\n * @method cssExists\n * @todo Add method description for cssExists\n * @global\n * @memberof bbn.fn\n * @param {String} f\n * @returns\n */\nvar cssExists = function (f) {\n var ok;\n var rules;\n var css = document.styleSheets;\n for (var sx = 0; sx < css.length; sx++) {\n ok = 1;\n try {\n rules = css[sx].rules || css[sx].cssRules;\n }\n catch (e) {\n ok = false;\n if (e.name !== \"SecurityError\") {\n throw e;\n }\n }\n if (ok) {\n //log(rules);\n for (var cx = 0; cx < rules.length; cx++) {\n //log(rules[cx].selectorText);\n if (new RegExp(\"(^|\\\\s)\" + escapeRegExp(f) + \"(\\\\{|\\\\s)\", \"g\").test(rules[cx].selectorText)) {\n return true;\n }\n }\n }\n }\n return false;\n};\nexport { cssExists };\n","/**\n * Gets a CSS variable value\n * @param {String*} varname\n * @returns\n */\nvar getCssVar = function (varname) {\n if (varname.indexOf(\"--\") !== 0) {\n varname = \"--\" + varname;\n }\n return getComputedStyle(document.documentElement).getPropertyValue(varname);\n};\nexport { getCssVar };\n","var getScrollBarSize = function () {\n if (bbn.env.scrollBarSize === undefined) {\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n if ('msOverflowStyle' in outer.style) {\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n }\n document.body.appendChild(outer);\n var widthNoScroll = outer.offsetWidth;\n // force scrollbars\n outer.style.overflow = 'scroll';\n // add innerdiv\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n var widthWithScroll = inner.offsetWidth;\n // remove divs\n outer.parentNode.removeChild(outer);\n var sz = widthNoScroll - widthWithScroll;\n bbn.env.scrollBarSize = sz ? sz + 1 : 0;\n }\n return bbn.env.scrollBarSize;\n};\nexport { getScrollBarSize };\n","/**\n * Takes color in hex format and lightens or darkens it with the given value.\n * @method lightenDarkenHex\n * @global\n * @example\n * ```javascript\n * //\"#eccb28\"\n * bbn.fn.lightenDarkenHex('#c4a300', 40);\n * ```\n *\n * @example\n * ```javascript\n * //\"#9c7b00\"\n * bbn.fn.lightenDarkenHex(#c4a300', -40);\n * ```\n * @memberof bbn.fn\n * @returns {String}\n */\nvar lightenDarkenHex = function (hex, amt) {\n if (hex && amt) {\n var ht = hex[0] === \"#\";\n hex = ht ? hex.slice(1) : hex;\n var num = parseInt(hex, 16), r = (num >> 16) + amt, b = ((num >> 8) & 0x00ff) + amt, g = (num & 0x0000ff) + amt;\n if (r > 255) {\n r = 255;\n }\n else if (r < 0) {\n r = 0;\n }\n if (b > 255) {\n b = 255;\n }\n else if (b < 0) {\n b = 0;\n }\n if (g > 255) {\n g = 255;\n }\n else if (g < 0) {\n g = 0;\n }\n return (ht ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\n }\n};\nexport { lightenDarkenHex };\n","import { selector } from '../html/selector.js';\n/**\n *\n * @ignore\n * @method outerHeight\n * @todo Add method description for outerHeight\n * @global\n * @memberof bbn.fn\n * @returns {*}\n */\nvar outerHeight = function (ele) {\n ele = selector(ele);\n if (ele && \"offsetHeight\" in ele) {\n var styles = window.getComputedStyle(ele);\n var margin = parseFloat(styles[\"marginTop\"]) + parseFloat(styles[\"marginBottom\"]);\n return Math.ceil(ele.offsetHeight + margin);\n }\n};\nexport { outerHeight };\n","import { selector } from '../html/selector.js';\n/**\n * @ignore\n * @method outerWidth\n * @todo Add method description for outerWidth\n * @global\n * @memberof bbn.fn\n * @returns {*}\n */\nvar outerWidth = function (ele) {\n ele = selector(ele);\n var styles = window.getComputedStyle(ele);\n var margin = parseFloat(styles[\"marginLeft\"]) + parseFloat(styles[\"marginRight\"]);\n return Math.ceil(ele.offsetWidth + margin);\n};\nexport { outerWidth };\n","import { getCssVar } from './getCssVar.js';\nimport { each } from '../loop/each.js';\nvar resize = function () {\n var diffW = bbn.env.width !== window.innerWidth;\n var diffH = bbn.env.height !== window.innerHeight;\n if (diffW || diffH) {\n if (diffW) {\n bbn.env.width =\n window.innerWidth || window.document.documentElement.clientWidth || window.document.body.clientWidth;\n document.documentElement.style.setProperty('--vw', bbn.env.width * 0.01 + 'px');\n }\n if (diffH) {\n bbn.env.height =\n window.innerHeight || window.document.documentElement.clientHeight || window.document.body.clientHeight;\n document.documentElement.style.setProperty('--vh', bbn.env.height * 0.01 + 'px');\n }\n var smallWidth = parseInt(getCssVar('mobile-limit')) || 650;\n var newCls_1 = 'bbn-screen-' + (bbn.env.width < smallWidth ? 'small' : 'regular');\n var classes_1 = (document.body.className || '').split(' ');\n var done_1 = false;\n each(classes_1, function (cls, idx) {\n var bits = cls.split('-');\n if (bits.length === 3 && cls.indexOf('bbn-screen-') === 0) {\n done_1 = true;\n if (cls !== newCls_1) {\n classes_1.splice(idx, 1, newCls_1);\n }\n return false;\n }\n });\n if (!done_1) {\n classes_1.push(newCls_1);\n }\n bbn.fn.defaultResizeFunction();\n document.body.className = classes_1.join(' ');\n }\n};\nexport { resize };\n","/**\n * Creates a CSS variable\n * @param {String*} varname\n * @param {String*} value\n * @returns\n */\nvar setCssVar = function (varname, value) {\n if (varname.indexOf(\"--\") !== 0) {\n varname = \"--\" + varname;\n }\n /** @todo To Fix */\n document.documentElement.style.setProperty(varname, value);\n};\nexport { setCssVar };\n","import { isArray } from './isArray.js';\nimport { each } from '../loop/each.js';\nimport { isFunction } from './isFunction.js';\nimport { isString } from './isString.js';\nimport { correctCase } from '../string/correctCase.js';\nimport { error } from '../browser/error.js';\nimport { log } from '../browser/log.js';\nvar checkType = function (value, type, msg) {\n var logs = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n logs[_i - 3] = arguments[_i];\n }\n var ok = false;\n if (!isArray(type)) {\n type = [type];\n }\n var typesList = [];\n each(type, function (t) {\n var _a;\n if (t === String) {\n t = 'string';\n }\n else if (t === Number) {\n t = 'number';\n }\n else if (t === Array) {\n t = 'array';\n }\n else if (t === Boolean) {\n t = 'boolean';\n }\n else if (t === Object) {\n t = 'object';\n }\n else if (t === Function) {\n t = 'function';\n }\n if (isFunction(t)) {\n typesList.push(t.name || ((_a = t.constructor) === null || _a === void 0 ? void 0 : _a.name) || t.toString());\n if (value instanceof t) {\n ok = true;\n return false;\n }\n }\n else if (!isString(t) || !isFunction(bbn.fn['is' + correctCase(t)])) {\n error(\"The type \".concat(t, \" is not recognized\"));\n }\n else if (bbn.fn['is' + correctCase(t)](value)) {\n ok = true;\n return false;\n }\n else {\n typesList.push(t);\n }\n });\n if (!ok) {\n log(['Value given', value, 'type', typeof value, 'expected', typesList.join(' or ')]);\n if (logs.length) {\n log(logs);\n }\n throw new Error((msg ? msg + ' - ' : '') + bbn._('The value should be a %s', typesList.join(' ' + bbn._('or a') + ' ')));\n }\n};\nexport { checkType };\n","/**\n * Returns true if the given argument is array.\n * @method isArray\n * @global\n * @example\n * ```javascript\n * bbn.fn.isArray([5,2,6]);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isArray = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!Array.isArray(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isArray };\n","/**\n * @method isBlob\n * @todo Add method description for isFunction\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isBlob = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Blob]\") {\n return false;\n }\n }\n return true;\n};\nexport { isBlob };\n","/**\n * Returns true if the given argument is a boolean\n * @method isBoolean\n * @global\n * @example\n * ```javascript\n * const sb = true;\n * bbn.fn.isBoolean(sb); // true\n * const sb = 1;\n * bbn.fn.isBoolean(sb); // false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isBoolean = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (![true, false].includes(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isBoolean };\n","/**\n * Returns true if the given argumen is a Canvas.\n *\n * @method isCanvas\n * @global\n * @example\n * ```javascript\n * let myCanvas = document.createElement('canvas');\n * bbn.fn.isCanvas(myCanvas);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isCanvas = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!(a instanceof HTMLCanvasElement)) {\n return false;\n }\n }\n return true;\n};\nexport { isCanvas };\n","import { isString } from './isString.js';\n/**\n * Intended to check if the argument provided is a color.\n *\n * It is possible to pass as argument a string with hexadecimal value in rgb or the name of the color.\n *\n * @method isColor\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.isColor(\"#FF0000\")\n * //true\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.isColor(\"rgb 255, 0, 0\");\n * //true\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.isColor(\"red\");\n * //true\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {Boolean}\n */\nvar isColor = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n var reg = new RegExp(\"^(#[a-f0-9]{6}|#[a-f0-9]{3}|rgb *( *[0-9]{1,3}%? *, *[0-9]{1,3}%? *, *[0-9]{1,3}%? *)|rgba *( *[0-9]{1,3}%? *, *[0-9]{1,3}%? *, *[0-9]{1,3}%? *, *[0-9]{1,3}%? *)|black|green|silver|gray|olive|white|yellow|maroon|navy|red|blue|purple|teal|fuchsia|aqua)$\", \"i\");\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (!isString(st)) {\n return false;\n }\n if (!reg.test(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isColor };\n","/**\n * Returns true if the given argument is a dom comment;\n * @method isComment\n * @example\n * ```javascript\n * bbn.fn.isComment(node.childNodes[0]);\n * //true\n * ```\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isComment = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!(a instanceof Comment)) {\n return false;\n }\n }\n return true;\n};\nexport { isComment };\n","import { isDom } from './isDom.js';\nvar isCp = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length) {\n return false;\n }\n if (!('cp' in bbn) || !('isComponent' in bbn['cp']) || !(typeof bbn['cp'].isComponent === 'function')) {\n return false;\n }\n for (var _b = 0, args_1 = args; _b < args_1.length; _b++) {\n var a = args_1[_b];\n var res = bbn.cp.isComponent(a);\n if (!res || isDom(a) || !((_a = a.$el) === null || _a === void 0 ? void 0 : _a.bbnCid)) {\n return false;\n }\n }\n return true;\n};\nexport { isCp };\n","/**\n * Returns true if the given argument is a date object.\n * @method isDate\n * @global\n * @example\n * ```javascript\n * let date = new Date();\n * bbn.fn.isDate(date);\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isDate('16/04/2020');\n * //false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isDate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Date]\") {\n return false;\n }\n }\n return true;\n};\nexport { isDate };\n","import { isValidDimension } from './isValidDimension.js';\n/**\n * Returns true if the given value is a valid CSS dimension string or a number, false otherwise.\n *\n * @method isDimension\n * @global\n * @memberof bbn.fn\n * @param {String} st\n * @returns\n */\nvar isDimension = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (typeof st !== \"number\" || st < 0) {\n return false;\n }\n if (!isValidDimension(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isDimension };\n","/**\n * Returns true if the given argument is a dom element;\n * @method isDom\n * @example\n * ```javascript\n * bbn.fn.isDom(document.body.childNodes[0]);\n * //true\n * ```\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isDom = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!(a instanceof HTMLElement)) {\n return false;\n }\n }\n return true;\n};\nexport { isDom };\n","import { isString } from './isString.js';\n/**\n * Intended to check if the argument provided is an e-mail address written correctly\n *\n * @method isEmail\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.isEmail('test@testorg');\n * //false\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.isEmail('test@test.org');\n * //true\n * ```\n * @memberof bbn.fn\n * @param {String} st\n * @returns {Boolean}\n */\nvar isEmail = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n var regex = /^([a-zA-Z0-9_.+-])+\\@(([a-zA-Z0-9-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (!isString(st)) {\n return false;\n }\n if (!regex.test(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isEmail };\n","import { isArray } from './isArray.js';\nimport { numProperties } from '../object/numProperties.js';\n/**\n * Checks if the argument is empty or not.\n * @method isEmpty\n * @global\n *\n * @example\n * ```javascript\n * bbn.fn.isEmpty({});\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty({test : 1});\n * //false\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty([]);\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty(['test']);\n * //false\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty('');\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isEmpty('test');\n * //false\n * ```\n * @memberof bbn.fn\n * @param {*} obj\n * @returns {Boolean}\n */\nvar isEmpty = function (obj) {\n if (!obj) {\n return true;\n }\n if (isArray(obj)) {\n return obj.length ? false : true;\n }\n if (typeof obj === \"object\") {\n if (numProperties(obj)) {\n return false;\n }\n return true;\n }\n return false;\n};\nexport { isEmpty };\n","/**\n * Returns true if the given argument is an event.\n * @method isEvent\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isEvent = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!(a instanceof Event)) {\n return false;\n }\n }\n return true;\n};\nexport { isEvent };\n","/**\n * Returns true if the given argument is a function.\n * @global\n * @example\n * ```javascript\n * bbn.fn.isFunction(() => {\n * alert('Hello world');\n * });\n * //true\n * ```\n * @method isFunction\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isFunction = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var obj = args_1[_a];\n if (!(obj && obj.constructor && obj.call && obj.apply)) {\n return false;\n }\n }\n return true;\n};\nexport { isFunction };\n","import { isString } from './isString.js';\nimport { isIP } from './isIP.js';\nvar isHostname = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (!isString(st)) {\n return false;\n }\n if (!isIP(st) && !bbn.var.regexp.hostname.test(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isHostname };\n","import { isString } from './isString.js';\nvar isIP = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var st = args_1[_a];\n if (!isString(st) || !bbn.var.regexp.ip.test(st)) {\n return false;\n }\n }\n return true;\n};\nexport { isIP };\n","/**\n * Returns true if the given argument is an integer\n * @method isInt\n * @global\n * @example\n * ```javascript\n * bbn.fn.isInt(5);\n * // true\n * bbn.fn.isInt(0.5);\n * // false\n * bbn.fn.isInt(\"hello\");\n * // false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isInt = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!Number.isInteger(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isInt };\n","/**\n * Returns true if the given object can be iterated as an array (numerically).\n *\n * It is possible to pass as argument a string with hexadecimal value in rgb or the name of the color.\n *\n * @method isIterable\n * @global\n * @memberof bbn.fn\n *\n * @example\n * ```javascript\n * bbn.fn.isIterable([1, 2])\n * // true\n * bbn.fn.isIterable({a: 1, b: 2})\n * // false\n * bbn.fn.isIterable(25)\n * // false\n * bbn.fn.isIterable(document.body.querySelectorAll('.container > div'))\n * // true\n * ```\n *\n * @param {String} st\n *\n * @returns {Boolean}\n */\nvar isIterable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length) {\n return false;\n }\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (!a ||\n (typeof a !== \"object\") ||\n !(Symbol.iterator in Object(a))) {\n return false;\n }\n }\n return true;\n};\nexport { isIterable };\n","/**\n * Returns true if the given argument is null;\n * @method isNull\n * @global\n * @example\n * ```javascript\n * bbn.fn.isNull(myData);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isNull = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Null]\") {\n return false;\n }\n }\n return true;\n};\nexport { isNull };\n","/**\n * Returns true if the given argument is a number\n * @method isNumber\n * @global\n * @example\n * ```javascript\n * bbn.fn.isNumber(5);\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isNumber(0.5);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isNumber = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ([\"boolean\", \"object\", \"symbol\"].includes(typeof a) ||\n a === \"\" ||\n isNaN(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isNumber };\n","/**\n * Returns true if the given argument is an object.\n * @method isObject\n * @global\n * @example\n * ```javascript\n * bbn.fn.isObject({name: 'cami', age: 7});\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isObject([{name: 'cami', age: 7}]);\n * //false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isObject = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Object]\") {\n return false;\n }\n }\n return true;\n};\nexport { isObject };\n","/**\n * Returns true if the given argument is a percentage.\n * @method isPercent\n * @global\n * @example\n * ```javascript\n * bbn.fn.isPercent('5%');\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isPercent = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (typeof a !== \"string\" || !a.match(/^\\d+(?:\\.\\d+)?%$/)) {\n return false;\n }\n }\n return true;\n};\nexport { isPercent };\n","/**\n * Returns true if the given arguments are primitive;\n * @method isPrimitive\n * @global\n * @example\n * ```javascript\n * bbn.fn.isPrimitive('myString', 6, true);\n * //true\n * bbn.fn.isPrimitive([80,10,22]);\n * //false\n * bbn.fn.isPrimitive({});\n * //false\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isPrimitive = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (a !== null && (typeof a == \"object\" || typeof a == \"function\")) {\n return false;\n }\n }\n return true;\n};\nexport { isPrimitive };\n","/**\n * Returns true if the given argument is a promise.\n * @global\n * @example\n * ```javascript\n * bbn.fn.isPromise(bbn.fn.post('myUrl'));\n * // true\n * bbn.fn.isPromise(setTimeout(() => {}))\n * // false\n * bbn.fn.isPromise(myVueObject.$nextTick());\n * // true\n * ```\n * @method isFunction\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isPromise = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Promise]\") {\n return false;\n }\n }\n return true;\n};\nexport { isPromise };\n","import { each } from '../loop/each.js';\nvar isPropSize = function (name) {\n var isTrue = false;\n each(['width', 'height', 'gap', 'margin', 'padding', 'top', 'left', 'right', 'bottom'], function (a) {\n if (name.indexOf(a) !== -1) {\n isTrue = true;\n return false;\n }\n });\n return isTrue;\n};\nexport { isPropSize };\n","/**\n * @ignore\n * @method isSQLDate\n * @todo Add method description for isSQLDate\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isSQLDate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (typeof a !== \"string\" ||\n !a.match(/^([1-2]\\d{3})-((0\\d)|(1[12]))-(([0-2]\\d)|(3[01]))(?:( [0-2]\\d):([0-5]\\d):([0-5]\\d))?$/)) {\n return false;\n }\n }\n return true;\n};\nexport { isSQLDate };\n","import { hash } from '../string/hash.js';\nimport { each } from '../loop/each.js';\nimport { analyzeFunction } from '../misc/analyzeFunction.js';\n/**\n * Checks whether the data contained in the given objects is identical.\n *\n * The properties starting with a non alphanumerical character and the\n * inherited ones are removed for the comparison, then the properties are\n * compared individually without the order being taken into account.\n *\n * @method isSame\n * @global\n * @example\n * ```javascript\n * bbn.fn.isSame(\n * {name: \"Wonka\", fname: \"Willy\"},\n * {fname: \"Willy\", name: \"Wonka\"}\n * );\n * // true\n * ```\n * @example\n * ```javascript\n * // Doesn't take into account properties starting with non-alphanumeric characters\n * bbn.fn.isSame(\n * {name: \"Wonka\", fname: \"Willy\", _bbn_timestamp: 1587269593987},\n * {fname: \"Willy\", name: \"Wonka\"}\n * );\n * // true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isSame(\n * {name: \"Wonka\", fname: \"Willy\", real: false},\n * {fname: \"Willy\", name: \"Wonka\"}\n * );\n * // false\n * ```\n * @memberof bbn.fn\n * @param {Object} obj1\n * @param {Object} obj2\n * @returns {Boolean}\n */\nvar isSame = function (obj1, obj2, done) {\n if (!done) {\n done = [];\n }\n if (obj1 === obj2) {\n return true;\n }\n if (obj1 && obj2 && typeof obj1 === 'object' && typeof obj2 === 'object') {\n var tmp1 = Object.keys(obj1).sort(), tmp2 = Object.keys(obj2).sort();\n // Case where the keys are different\n if (hash(tmp1) !== hash(tmp2)) {\n return false;\n }\n var ok_1 = true;\n if (obj1 && typeof obj1 === 'object') {\n if (done.includes(obj1)) {\n return ok_1;\n }\n done.push(obj1);\n }\n each(tmp1, function (a) {\n if (!isSame(obj1[a], obj2[a])) {\n ok_1 = false;\n return false;\n }\n });\n return ok_1;\n }\n else if (obj1 && obj2 && typeof obj1 === 'function' && typeof obj2 === 'function') {\n var tmp1 = analyzeFunction(obj1);\n var tmp2 = analyzeFunction(obj2);\n return tmp1.hash === tmp2.hash;\n }\n return false;\n};\nexport { isSame };\n","/**\n * Returns true if the given argument is a string;\n * @method isString\n * @global\n * @example\n * ```javascript\n * bbn.fn.isString('bbn');\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object String]\") {\n return false;\n }\n }\n return true;\n};\nexport { isString };\n","/**\n * Returns true if the given argument is a symbol;\n * @method isSymbol\n * @global\n * @example\n * ```javascript\n * const sb = Symbol();\n * bbn.fn.isSymbol(sb);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isSymbol = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if ({}.toString.apply(a) !== \"[object Symbol]\") {\n return false;\n }\n }\n return true;\n};\nexport { isSymbol };\n","var isURL = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var str = args_1[_a];\n if (!bbn.var.regexp.url.test(str)) {\n return false;\n }\n }\n return true;\n};\nexport { isURL };\n","import { isNumber } from './isNumber.js';\nimport { substr } from '../string/substr.js';\n/**\n * Returns true if the given value is a valid CSS dimension string, false otherwise.\n *\n * @method isValidDimension\n * @global\n * @memberof bbn.fn\n * @param {String} st\n * @returns\n */\nvar isValidDimension = function (st) {\n if (typeof st === \"string\" &&\n st.length > 0 &&\n (st.indexOf(\"calc\") === 0 || isNumber(substr(st, 0, 1)))) {\n var el = document.createElement(\"div\");\n el.style.width = st;\n var res = !!el.style.width.length;\n el.remove();\n return res;\n }\n return false;\n};\nexport { isValidDimension };\n","import { isString } from './isString.js';\n/**\n * Returns true if the given value is a valid name for a function without checking in reserved words, false otherwise\n * @method isValidName\n * @global\n * @example\n * ```javascript\n * bbn.fn.isValidName('$myFunc_tion')\n * // true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isValidName('7Y')\n * // false\n * ```\n *\n * @example\n * ```javascript\n * bbn.fn.isValidName('function')\n * // true\n * ```\n *\n * @memberof bbn.fn\n * @param {String} st\n * @returns {Boolean}\n */\nvar isValidName = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length) {\n return false;\n }\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var arg = args_1[_a];\n if (!isString(arg) || !/^[$A-Z_][0-9A-Z_$]*$/i.test(arg)) {\n return false;\n }\n }\n return true;\n};\nexport { isValidName };\n","import { isNull } from './isNull.js';\n/**\n * Returns true if the given argument is not null or type object or array.\n * @method isValue\n * @deprecated\n * @see bbn.fn.isPrimitive\n * @example\n * ```javascript\n * bbn.fn.isValue('myString');\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isValue(6);\n * //true\n * ```\n * @example\n * ```javascript\n * bbn.fn.isValue([80,10,22]);\n * //false\n * ```\n * @global\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isValue = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length)\n return false;\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var a = args_1[_a];\n if (typeof a === \"object\" && !isNull(a)) {\n return false;\n }\n }\n return true;\n};\nexport { isValue };\n","/**\n * Returns true if the given argumen is a VueJS object.\n *\n * @method isVue\n * @global\n * @example\n * ```javascript\n * let myObj = new Vue({});\n * bbn.fn.isVue(myObj);\n * //true\n * ```\n * @memberof bbn.fn\n * @returns {Boolean}\n */\nvar isVue = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!args.length) {\n return false;\n }\n if (\"vue\" in bbn && window[\"Vue\"]) {\n if (\"app\" in bbn.vue) {\n for (var _b = 0, args_1 = args; _b < args_1.length; _b++) {\n var a = args_1[_b];\n if (!a || typeof a.render !== \"function\") {\n return false;\n }\n }\n }\n else {\n for (var _c = 0, args_2 = args; _c < args_2.length; _c++) {\n var a = args_2[_c];\n if (!(a instanceof window[\"Vue\"])) {\n return false;\n }\n }\n }\n }\n if (\"cp\" in bbn &&\n \"isComponent\" in bbn[\"cp\"] &&\n typeof bbn[\"cp\"].isComponent === \"function\") {\n return (_a = bbn.cp).isComponent.apply(_a, args);\n }\n return true;\n};\nexport { isVue };\n","var lng = {\n /* User-defined languages elements */\n select_unselect_all: \"Select/Clear all\",\n select_all: \"Select all\",\n search: 'Search',\n loading: 'Loading...',\n choose: 'Choose',\n error: 'Error',\n server_response: 'Server response',\n reload: 'Reload',\n errorText: 'Something went wrong',\n closeAll: \"Close all\",\n closeOthers: \"Close others\",\n pin: \"Pin\",\n arrange: \"Arrange\",\n cancel: \"Cancel\",\n unpin: \"Unpin\",\n yes: \"Yes\",\n no: \"No\",\n unknown: \"Unknown\",\n untitled: \"Untitled\",\n confirmation: \"Confirmation\",\n Today: \"Today\",\n Tomorrow: \"Tomorrow\",\n Yesterday: \"Yesterday\"\n};\nexport { lng };\n","var vars = {\n loggers: {\n _num: 0\n },\n /* Usable datatypes through Ajax function */\n datatypes: ['xml', 'html', 'script', 'json', 'jsonp', 'text', 'blob'],\n /* The default value used by the function shorten */\n shortenLen: 30,\n /* Categorizing keyboard map */\n keys: {\n upDown: [33, 34, 35, 36, 38, 40],\n leftRight: [36, 35, 37, 39],\n dels: [8, 46, 45],\n confirm: [13, 9],\n alt: [20, 16, 17, 18, 144],\n numbers: [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105],\n numsigns: [109, 110, 189, 190]\n },\n comparators: [\">=\", \"<=\", \">\", \"<\", \"=\"],\n operators: [\"+\", \"-\", \"/\", \"*\"],\n tags: ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'slot', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr'],\n colors: {\n darkgrey: '#5a6a62',\n black: '#000000',\n anthracite: '#454545',\n grey: '#d3d3d3',\n white: '#ffffff',\n beige: '#fdfdfd',\n lightgrey: '#dcdcdc',\n pastelblue: '#ddebf6',\n cyan: '#00c8f8',\n blue: '#6e9ecf',\n indigo: '#3f51b5',\n navy: '#354458',\n webblue: '#2196f3',\n teal: '#009688',\n turquoise: '#1fda9a',\n pastelgreen: '#e2efda',\n palegreen: '#ccffcc',\n green: '#00a03e',\n olive: '#92b06a',\n pastelorange: '#fff2cc',\n yellow: '#fdf200',\n orange: '#ff9900',\n pink: '#eb65a0',\n purple: '#a333c8',\n red: '#db3340',\n brown: '#8c6954'\n },\n reserved: ['abstract', 'boolean', 'break', 'byte', 'case', 'catch', 'char', 'class', 'continue', 'const', 'debugger', 'default', 'delete', 'do', 'double', 'else', 'enum', 'export', 'extends', 'false', 'final', 'finally', 'float', 'for', 'function', 'goto', 'if', 'implements', 'import', 'in', 'instanceof', 'int', 'interface', 'long', /*'native', */ 'new', 'null', 'package', /*'private', 'protected', 'public', */ 'return', /*'short', 'static',*/ 'super', 'switch', 'synchronized', 'this', 'throw', 'throws', 'transient', 'true', 'try', 'typeof', 'var', 'void', 'while', 'with'],\n mockText: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n regexp: {\n url: new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.?)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'),\n ip: /^((\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])$/,\n hostname: /^[a-z\\d]([a-z\\d-]{0,61}[a-z\\d])?(\\.[a-z\\d]([a-z\\d-]{0,61}[a-z\\d])?)*$/i,\n }\n};\nexport { vars };\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\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\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\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) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\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 adapters: knownAdapters\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.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 speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return 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 };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), 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() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\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 // 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 if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\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 (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\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(fullPath);\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 /**\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';\nimport utils from '../utils.js';\n\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 */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\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';\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 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 }, 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.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 requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\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.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, 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 i = 0;\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);\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\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 */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function 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.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\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 {\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 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 *\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 {Boolean} `true` if the interceptor was removed, `false` otherwise\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) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\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);\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) => thing instanceof AxiosHeaders ? thing.toJSON() : 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, 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 // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, 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 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) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], 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 [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'],\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 if (!hasJSONContentType) {\n return data;\n }\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 ) {\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 (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);\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};\n","export const VERSION = \"1.5.1\";","'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};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\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 replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\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} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\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","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function 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 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 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","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\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","'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 * var 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","'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 (!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(), Object.assign({\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","'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\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\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 isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\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 */\n const isStandardBrowserWebWorkerEnv = (() => {\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\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\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;\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 an Array\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 val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\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/**\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 (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\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 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' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\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\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) => str.trim ?\n 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} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [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 // 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\nfunction findKey(obj, key) {\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 * var 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} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\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 {\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 {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 constructor.prototype.constructor = constructor;\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 ((!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/**\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[Symbol.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,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(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'].indexOf(name) !== -1) {\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) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\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 !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\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 && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\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 ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\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\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","// 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__.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 axios from 'axios';\nimport dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar.js';\nimport dayOfYear from 'dayjs/plugin/dayOfYear.js';\nimport duration from 'dayjs/plugin/duration.js';\nimport isBetween from 'dayjs/plugin/isBetween.js';\nimport isLeapYear from 'dayjs/plugin/isLeapYear.js';\nimport isoWeek from 'dayjs/plugin/isoWeek.js';\nimport localeData from 'dayjs/plugin/localeData.js';\nimport localizedFormat from 'dayjs/plugin/localizedFormat.js';\nimport minMax from 'dayjs/plugin/minMax.js';\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear.js';\nimport relativeTime from 'dayjs/plugin/relativeTime.js';\nimport timezone from 'dayjs/plugin/timezone.js';\nimport updateLocale from 'dayjs/plugin/updateLocale.js';\nimport utc from 'dayjs/plugin/utc.js';\nimport weekday from 'dayjs/plugin/weekday.js';\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js';\ndayjs.extend(calendar);\ndayjs.extend(dayOfYear);\ndayjs.extend(duration);\ndayjs.extend(isBetween);\ndayjs.extend(isLeapYear);\ndayjs.extend(isoWeek);\ndayjs.extend(localeData);\ndayjs.extend(localizedFormat);\ndayjs.extend(minMax);\ndayjs.extend(quarterOfYear);\ndayjs.extend(relativeTime);\ndayjs.extend(timezone);\ndayjs.extend(updateLocale);\ndayjs.extend(utc);\ndayjs.extend(weekday);\ndayjs.extend(weekOfYear);\nimport { _ } from './_.js';\nimport { $ } from './$.js';\nimport { lng } from './lng.js';\nimport { vars } from './vars.js';\nimport { env } from './env.js';\nimport { db } from './db.js';\nimport { fn } from './fn.js';\nvar bbn = {\n version: \"1.0.1\",\n opt: {\n _cat: {}\n },\n app: {},\n _: _,\n $: $,\n lng: lng,\n var: vars,\n env: env,\n db: db,\n fn: fn\n};\nif ('undefined' !== typeof window) {\n window.axios = axios;\n window.dayjs = dayjs;\n window.bbn = bbn;\n}\nexport { bbn as default, bbn, dayjs, axios };\n"],"names":[],"sourceRoot":""}
|